각 언어 http 요청 방법
5187 단어 http
get
func (r *Rescanner) doGet(url string) ([]byte, error) {
request, err := http.NewRequest("GET", url, nil)
if err != nil {
return nil, err
}
res, err := http.DefaultClient.Do(request)
if err != nil {
return nil, err
}
if res.StatusCode != 200 {
return nil, fmt.Errorf("http response code is error,err:" + err.Error())
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
}
return body, nil
}
post
// paramas kv
func (j *Judger) doPost(xml string, params map[string]string) (string, error) {
client := &http.Client{
Timeout: 3 * time.Second,
}
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
for key, val := range params {
_ = writer.WriteField(key, val)
}
err := writer.Close()
if err != nil {
log.Warnf("write post parameters error")
return "", nil
}
request, err := http.NewRequest("POST", Url, body)
request.Header.Set("Content-Type", writer.FormDataContentType())
resp, err := client.Do(request)
if err != nil {
log.Warnf("request error")
return "", err
} else {
body := &bytes.Buffer{}
_, err := body.ReadFrom(resp.Body)
defer resp.Body.Close()
if err != nil {
log.Warnf("read response body error")
return "", err
}
return body.String(), nil
}
}
python
get
import requests
start_url = 'https://www.baidu.com'
response = requests.get(url=start_url)
print(response) # :
post
def post(client, total):
headers = {'content-type': 'application/json'}
req = {
"date" : yesterday,
"client" : client,
"Count" : total
}
print json.dumps(req)
res = requests.post(url, data = json.dumps(req), headers = headers)
print res.text
print res.status_code
Java
get
public String doGet(String url) throws Exception {
InputStream is = null;
BufferedReader br = null;
String result = null;
URL url = new URL(url);
HttpURLConnection connection = null;
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(15000);
connection.setReadTimeout(60000);
connection.connect();
if (connection.getResponseCode() == 200) {
is = connection.getInputStream();
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
//
StringBuffer sbf = new StringBuffer();
String temp = null;
while ((temp = br.readLine()) != null) {
sbf.append(temp);
sbf.append("
");
}
result = sbf.toString();
br.close();
is.close();
connection.disconnect();
return result;
}
return "";
}
post
public String doPost(String url, HashMap params) {
BufferedReader in = null;
try {
HttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost();
request.setURI(new URI(url));
List nvps = new ArrayList();
for (Iterator iter = params.keySet().iterator(); iter.hasNext(); ) {
String name = (String) iter.next();
String value = String.valueOf(params.get(name));
nvps.add(new BasicNameValuePair(name, value));
}
request.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
HttpResponse response = client.execute(request);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
in = new BufferedReader(new InputStreamReader(response.getEntity()
.getContent(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
return sb.toString();
} else {
this.logger.error("request error, status code:" + code);
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
빠른 팁: SingleStoreDB의 데이터 API 사용SingleStoreDB는 HTTP 연결을 통해 SQL 문을 실행하는 데 사용할 수 있는 을 제공합니다. 이 짧은 문서에서는 이 데이터 API를 사용하는 방법에 대한 예를 보여줍니다. A는 무료 SingleStore...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.