2012-07-26 26 views
-1

我正在研究从Web服务器读取和执行html/javascript文档的工具。 我使用RFC2817Socket(因为我通过代理连接)并使用writeUTFBytes发送请求并在HTMLLoader(loadString)中显示页面;到现在为止还挺好。 我现在的问题是,有没有办法欺骗用户代理?所以,即使我通过代理连接到网络服务器并发送我的请求,我希望能够将用户代理更改为我想要的任何内容。用套接字GET /test.php HTTP/1.1欺骗用户代理?

_proxy.writeUTFBytes('GET /test.php HTTP/1.1\r\n'); 
_proxy.writeUTFBytes('Host: xx.xx.xx.xx:xx\r\n'); 
_proxy.writeUTFBytes('Connection: Keep-alive\r\n\r\n'); 
_proxy.flush(); 

页我称之为是一个PHP脚本,返回的是从未定义了一堆诸如IP,引用者,用户代理...但是,用户代理信息:

echo 'user agent:'.$_SERVER['HTTP_USER_AGENT']; 
echo 'ip:'.getenv('HTTP_X_FORWARDED_FOR'); 

但它返回正确的IP地址(代理公司)

ip:xxx.xxx.xxx.xxx 
user agent: 
+0

为什么不只是将URLRequestHeader与URLLoader结合使用http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/net/URLRequestHeader.html#includeExamplesSummary – 2012-07-26 01:37:59

+0

我正在使用套接字因为在这个应用程序中,我有一个代理管理器,用于测试并返回工作代理并在代理之间切换。我不认为我可以使用URLRequestHeader来做到这一点。也一切正常,但那。 – Eric 2012-07-26 01:39:56

回答

3

添加 “的User-Agent:” 字段,以您的请求头:

_proxy.writeUTFBytes('GET /test.php HTTP/1.1\r\n'); 
_proxy.writeUTFBytes('User-Agent: Mozilla/5.0\r\n'); 
_proxy.writeUTFBytes('Host: xx.xx.xx.xx:xx\r\n'); 
_proxy.writeUTFBytes('Connection: Keep-alive\r\n\r\n'); 
+0

呃!!!!!!!!!!!!! Eric 2012-07-26 01:54:58