如何使用HttpClient使HTTP请求看起来类似于来自iPhone的请求

如何使用HttpClient使HTTP请求看起来类似于来自iPhone的请求

问题描述:

标题有点混乱。在我的Android应用程序中,我使用HttpClient对象进行HttpGet请求。我没有设置任何标题,所以所有的默认值。请求正常工作,我得到了服务器的响应。如何使用HttpClient使HTTP请求看起来类似于来自iPhone的请求

问题是,当使用来自iphone的HTTP GET请求请求相同的url时,服务器响应是不同的。因此,服务器正在查看某些内容,USER-AGENT可能是或其他的,以决定要返回的内容。我想要的服务器返回到iPhone应用程序相同的东西。我可以做什么,即什么参数,标题或任何可以设置使这个请求相同的IOS应用程序。

PS:我已经试过的User-Agent设置为使用如下代码

"Mozilla/5.0(Linux; U; Android 2.2; en-gb; LG-P500 Build/FRF91) 
AppleWebKit/533.0 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" \ 

..

client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, sUsrAgent); 

也PLZ不建议检查服务器或更改该web服务,因为我不有权访问它。

+0

您真的在_USER_AGENT_中设置了_Linux_和_Android_字符串吗?因为它应该只包含原始的iPhone字符串。 – 2013-02-19 12:32:52

+0

如果您在模拟器(android-emulator,iPhone-simulator)上运行这两个应用程序并在机器上使用wireshark来检查响应。如果您发布回复,我们可以看到其中的差异.. – RDX 2013-02-19 12:33:30

+0

似乎你做得很对:http://stackoverflow.com/a/3905534/752781请澄清你在哪里遇到问题 – pandre 2013-02-19 12:34:26

您是否可以尝试从iPhone应用程序中点击this这样的网站并检查HTML响应。它将包含由iOS network API传递的标题列表。一旦你有这个清单,那么你可以尝试添加Android应用程序中的所有标题。

+0

这实际上是一个好主意。让我试试看。如果这解决了我的问题,我会接受答案 – binW 2013-02-19 12:38:37