Java Apache HTTP客户端使用HTTP请求失败,其中cURL成功
我发现使用ApacheHTTP客户端在Java中执行简单的http请求很困难。请求是指向以下url(当前正在运行)的简单获取。使用curl请求成功,如下所示:Java Apache HTTP客户端使用HTTP请求失败,其中cURL成功,java,curl,httpclient,Java,Curl,Httpclient,我发现使用ApacheHTTP客户端在Java中执行简单的http请求很困难。请求是指向以下url(当前正在运行)的简单获取。使用curl请求成功,如下所示: curl -v -X GET http://109.231.121.64:20622/v1/collections/S4C/objects/OpsConfig/data > s4cOpsInitModel.xml 这是输出: * Hostname was NOT found in DNS cache * Try
curl -v -X GET http://109.231.121.64:20622/v1/collections/S4C/objects/OpsConfig/data > s4cOpsInitModel.xml
这是输出:
* Hostname was NOT found in DNS cache
* Trying 109.231.121.64...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:----:--:-- 0* Connected to 109.231.121.64 (109.231.121.64) port 20622 (#0)
> GET /v1/collections/S4C/objects/OpsConfig/data HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 109.231.121.64:20622
> Accept: */*
>
< HTTP/1.1 200 OK
< connection: keep-alive
* Server Cowboy is not blacklisted
< server: Cowboy
< date: Tue, 08 Sep 2015 08:11:22 GMT
< content-length: 2349
< content-type: application/octet-stream
<
{ [data not shown]
100 2349 100 2349 0 0 27819 0 --:--:-- --:--:----:--:-- 27964
* Connection #0 to host 109.231.121.64 left intact
我看了一下谷歌,但我不知道发生了什么。我的猜测是,接受的内容类型有问题,但我试图设置不同类型的内容类型,但没有成功。你知道我做错了什么吗?提前感谢大家。已解决,它似乎与接受的内容类型有关。将以下标头添加到http请求中可以使其正常工作
getRequest.setHeader("accept", "*/*");
已解决,似乎与接受的内容类型有关。将以下标头添加到http请求中可以使其正常工作
getRequest.setHeader("accept", "*/*");
我今天也有这个问题,但原因不同。我在绞尽脑汁。那是我向sharepoint发出http请求的时候 卷发-效果很好。Http客户端没有 我花了很长时间才意识到这一点,但这是因为我在请求中手动发送的
FedAuth
和rtFa
cookies以某种方式干扰了保存到cookie存储中并发送回的cookies。所以第一个请求可以正常工作,然后第二个请求会出错
解决方案是在每次请求之前清除cookie存储,或者如果rtfa fedauth cookie已经在cookie存储中,则不在请求中设置它们。我今天也遇到了这个问题,但原因不同。我在绞尽脑汁。那是我向sharepoint发出http请求的时候 卷发-效果很好。Http客户端没有 我花了很长时间才意识到这一点,但这是因为我在请求中手动发送的
FedAuth
和rtFa
cookies以某种方式干扰了保存到cookie存储中并发送回的cookies。所以第一个请求可以正常工作,然后第二个请求会出错
解决方案是在每次请求之前清除cookie存储,或者如果rtfa fedauth cookie已经在cookie存储中,则不在请求中设置它们。curl-verbose-silent?为什么?请检查/提供curl的输出/详细信息。您遇到了什么“问题”?请在帖子中添加任何异常stacktrace抱歉称它们为问题,我编辑了帖子,还添加了curl-v.curl-verbose-silent的输出?为什么?请检查/提供curl的输出/详细信息。您遇到了什么“问题”?请在帖子中添加任何异常stacktrace抱歉,称它们为问题,我编辑了帖子,还添加了curl-v的输出。