作者No (you stay there)
看板java
标题Re: [问题] httpClient无法取得网页html的问题
时间Sun Dec 2 04:33:23 2012
※ 引述《ciphero (奶油焗蛋饺...:))》之铭言:
: 我有试过把 http header 改成跟浏览器送出的完全相同,但结果还是一样
1F:→ ciphero:ㄟ~其实这一点也试过了,仍然不行。我用某些软体去找12/01 22:01
2F:→ ciphero:所有submit出去的变数与值以及http header,然後以程式12/01 22:04
3F:→ ciphero:送出完全相同的内容,结果仍然一样。也许只能推测对方的12/01 22:06
4F:→ ciphero:action程式中做了什麽未知的处理,似乎也无法继续追查了吧12/01 22:09
虽然你说有把http header一模一样的送出
但我猜或许你有些误解HTTP header
不然就是code哪里没写对
通常要写程式由HTTP GET/POST取回资料
却不像浏览器那样顺利
不外乎几个原因:
- 伺服器错误/找不到
URL 错误
- 伺服器有回应,但内容不对
GET query string 或 POST Data 有错误
- 没有权限
Cookie 处理漏掉
- 资料变乱码
Encoding 错误
- 以上都对了,回应的内容仍不对
HTTP request headers 需伪装成浏览器行为
或者说伺服器利用 HTTP request headers 做基本的过虑
我通常由这样的顺序测试:
Referer
Host
User-Agent
- 戳太快被挡了
以你的这个问题来说
补上Referer就好了
Referer也是最常见的原因
至於工具..
我不知道你用哪套
不过 Google Chrome 的 Developer Tools 是你的好朋友
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.165.66.128
5F:推 gmoz:referer错 出现forbidden的机会比较大 完全空白就不知道了@@ 12/03 11:20
6F:→ No:response没有一定会回什麽,server可以自由控制的 12/03 21:41
7F:推 ciphero:已经改好了,感谢提醒 ^_^ 12/03 23:43