问题标签 [httpclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 在 C# 中使用 TcpClient 的 HTTP 客户端真的很奇怪
我正在实现一个简单的 HTTP 客户端,它只连接到 Web 服务器并获取其默认主页。在这里,它工作得很好:
当我从上面的代码中删除以下行时,程序会阻塞sr.ReadToEnd。
我什至用sr.Read替换了sr.ReadToEnd,但它无法读取任何内容。我使用 Wireshark 来查看发生了什么:
使用 Wireshark 捕获数据包的屏幕截图 http://www.imagechicken.com/uploads/1252514718052893500.jpg
如您所见,在我的 GET 请求之后,Google 没有响应并且请求被一次又一次地重新传输。看来我们必须在 HTTP 请求中指定Host部分。奇怪的部分是我们不这样做。我使用telnet发送此请求并得到 Google 的回复。我还捕获了 telnet 发送的请求,它与我的请求完全相同。
我尝试了许多其他网站(例如 Yahoo、Microsoft),但结果都是一样的。
那么,telnet 中的延迟是否会导致 Web 服务器的行为有所不同(因为在 telnet 中,我们实际上是键入字符而不是在 1 个数据包中将它们一起发送)。
另一个奇怪的问题是,当我将HTTP/1.0更改为HTTP/1.1时,程序总是阻塞在sr.ReadToEnd行。我猜那是因为网络服务器没有关闭连接。
一种解决方案是使用Read(或ReadLine)和ns.DataAvailable来读取响应。但我不能确定我是否已阅读所有回复。如何读取响应并确保 HTTP/1.1 请求的响应中没有更多字节?
注意: 正如 W3 所说,
(我是为我的 HTTP/1.1 请求做的)。但是我还没有看到HTTP/1.0这样的东西。使用 telnet发送没有Host标头的请求也可以正常工作。
更新:
TCP 段中的推送标志已设置为 1。我也尝试过netsh winsock reset来重置我的 TCP/IP 堆栈。测试计算机上没有防火墙或防病毒软件。数据包实际上是发送的,因为安装在另一台计算机上的 Wireshark 可以捕获它。
我也尝试过其他一些要求。例如,
在所有类型的请求中,如果我省略Host:部分,Web 服务器不会响应,如果使用Host:部分,即使是无效请求(就像上面的请求一样)也会被响应(通过 400: HTTP错误的请求)。
nos说Host:在他的机器上不需要零件,这使情况更加奇怪。
java - 如何通过java登录网站?
我尝试了几种通过java登录网站的方法。我使用过 watij、HTMLunit 等,但由于对这些都不熟悉,我无法成功登录。
谁能详细告诉我如何通过java登录
更具体地说,我想登录到 ORKUT 并想要登录后页面的页面源。
java - 使用 REST 和 HttpClient 访问 Facebook API
我将使用 RESTful Web Services 和HttpClient来访问Facebook API REST Server。
我对 REST 和 Facebook API 有点陌生……
问题):
验证/授权
(1) 如果我有一个客户端应用程序发送的会话密钥,我如何验证和验证用户是否存在,然后在服务器端查询他/她的朋友?
如何访问这些 Facebook RESTful 端点:
http://wiki.developers.facebook.com/index.php/Users.getInfo
和
http://wiki.developers.facebook.com/index.php/Friends.getLists
通过 HTTP GET 请求?意思是,包含参数的完整 URL 是什么样的?
(2) 获取 API(我在上面列出的)的完整 RESTful URL 是什么样的?
发布到朋友的墙上
(3) 验证/授权后,查询用户好友,我将如何(哪个API)发帖到好友墙?
(4) 是否需要将任何其他参数附加到 Facebook RESTful 服务器的 URL?
HTTP 客户端
(5) 我是否通过 HttpClient 在我的 Java 程序中包含对这些 Facebook API 的 RESTful Web 服务调用?
编程愉快,感谢您抽出宝贵时间阅读本文...
java - Facebook:获取会话密钥时获取不正确的签名 (104)
我正在尝试使用HttpClient库(以调用 Facebook API 的 REST 端点)来获取会话密钥并验证用户...
我的代码在这里:
当我运行我的 JUnit 测试时,这是从控制台打印的:
会不会是我的 MD5Utils 代码:
我可能做错了什么来生成不正确的签名?
如果有人可以帮助我或为我指明正确的方向,我将不胜感激...
编程愉快,感谢阅读!
java - Java:HttpClient 中的自动 cookie 处理?
在Java HttpClient功能列表中它说:
自动 Cookie 处理,用于从服务器读取 Set-Cookie: 标头,并在适当时将它们发送回 Cookie: 标头。
但我不知道如何使用此功能。我只需要打开一个网页,让它设置所有的 cookie,然后用接收到的 cookie 刷新同一页面。
谢谢。
java - 使用 HttpClient 连接到不同线程中的相同 URL
在java中使用HttpClient在多个线程中获取URL内容的正确方法是什么?
例如加载带有项目的列表,同时在不同的线程中加载每个项目,并从具有不同参数的相同 URL 获取信息。
在我正在创建的应用程序中,当从不同线程中的相同 URL 读取 XML 时,它没有发现元素异常。
java - 从 ThreadSafeClientConnManager 连接池取消/中止连接
我正在使用ThreadSafeClientConnManager来管理客户端连接池,因为我的应用程序有多个线程,它们同时连接到网络服务器。
抽象示例代码:
现在让我们说这个线程正在下载一个大文件,但是我的应用程序的用户正在切换到另一个活动/屏幕。因此该文件是不必要的,我想中止这个下载连接。
在ThreadSafeClientConnManager我发现了这个方法:
public ClientConnectionRequest requestConnection (HttpRoute route, Object state)
返回一个新的 ClientConnectionRequest,可以从中获取 ManagedClientConnection 或者可以中止请求。
到目前为止,我一直在使用:
现在据我了解,我必须使用:
httpclient.getConnectionManager().requestConnection(HttpRoute route, Object state);
这就是我卡住的地方。我假设对于我可以使用的路线new HttpRoute(new HttpHost("10.0.0.1"))
或我的服务器是什么,但是要输入什么Object state
?
第二,只要我有ClientConnectionManager
我就可以打电话getConnection(long timeout, TimeUnit tunit)
。HttpGet httpRequest = new HttpGet(URL_TO_FILE);
但是从那里开始,我如何像以前一样执行我的HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
?
我已经浏览了文档并尝试了很多不同的东西,但我无法获得有效的解决方案。因此,任何建议和/或代码示例都非常受欢迎。
java - ruby 中是否有一些像 java httpclient 这样的库
我想知道ruby中是否有像java httpclient这样的库?十分感谢。
java - java.lang.NoSuchMethodError:org.apache.http.protocol.BasicHttpContext:方法()V 未找到
嗨,我正在尝试建立一个小型 webapp,但我遇到了错误。下面是我的代码
我正在使用 httpclient-4.0-beta2.jar 和 httpcore-4.0.1.jar。看起来 BasicHttpContext 与我的应用程序中的其他一些 jar 发生冲突,但我无法弄清楚。任何线索将不胜感激。