gpt4 book ai didi

java - 如何发送带有正文的 HTTP GET?

转载 作者:行者123 更新时间:2023-11-30 06:21:25 25 4
gpt4 key购买 nike

老板要我们发送一个HTTP GET,正文中有参数。我不知道如何使用 org.apache.commons.httpclient.methods.GetMethod 或 java.net.HttpURLConnection; 来做到这一点。

GetMethod 似乎不接受任何参数,我不确定如何为此使用 HttpURLConnection。

最佳答案

您可以扩展 HttpEntityEnclosingRequestBase 类以覆盖继承的 org.apache.http.client.methods.HttpRequestBase.getMethod()但事实上 HTTP GET 不支持正文请求,也许你会遇到一些 HTTP 服务器的问题,使用风险自负:)

public class MyHttpGetWithEntity extends HttpEntityEnclosingRequestBase {
public final static String GET_METHOD = "GET";

public MyHttpGetWithEntity(final URI uri) {
super();
setURI(uri);
}

public MyHttpGetWithEntity(final String uri) {
super();
setURI(URI.create(uri));
}

@Override
public String getMethod() {
return GET_METHOD;
}
}

then


import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

public class HttpEntityGet {

public static void main(String[] args) {

try {
HttpClient client = new DefaultHttpClient();
MyHttpGetWithEntity e = new MyHttpGetWithEntity("http://....");
e.setEntity(new StringEntity("mystringentity"));
HttpResponse response = client.execute(e);
System.out.println(IOUtils.toString(response.getEntity().getContent()));
} catch (Exception e) {
System.err.println(e);
}
}
}



关于java - 如何发送带有正文的 HTTP GET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20550746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com