3G上的XE5 TREstClient EIdHTTPProtocolException

时间:2014-02-02 06:10:51

标签: android delphi delphi-xe5

我的应用程序在我的应用程序上使用TRESTClient,TRESTRequest和TRESTResponse,并且无论何时我的设备都在Wifi上都没有问题,但是如果它在3G上,我会获得EiDHTTPProtocolException HTTP / 1.1 403 Forbidden。

INTERNET在使用权限中设置为TRUE。

代码是一个简单的执行调用

RestRequest.Execute;

欣赏任何想法或指示:)

1 个答案:

答案 0 :(得分:0)

Indy(TRESTClient内部使用)并不关心设备如何连接到Internet。无论涉及哪种硬件,TCP / IP都是TCP / IP。您收到HTTP错误的事实证明,由于您要连接的HTTP服务器报告403 Forbidden。发送的HTTP请求要么丢失了HTTP服务器所需的授权凭据,要么以某种方式导致HTTP服务器不喜欢。您需要使用数据包嗅探器来查看正在发送的实际HTTP请求。 Indy没有为WiFi和3G发送不同的HTTP请求,所以还有其他事情正在发生。例如,电信运营商可能正在改变飞行中的HTTP请求。