欺骗用户代理与套接字的GET /test.php HTTP / 1.1?

时间:2012-07-26 01:15:59

标签: php actionscript-3 sockets air user-agent

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

_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,referer,user agent ......但用户代理从未定义过:

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

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

ip:xxx.xxx.xxx.xxx
user agent:

1 个答案:

答案 0 :(得分: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');