
You don't have permission to access / on this server.
1.我直接用浏览器是可以正常打开浏览的(只要连接到公司内部的网络,就可以打开,不需要登录域帐号)
2.然后我用 Postman 去 GET https://server_address 也能够成功 (我没有设置任何 header,只是填写了 server 地址,然后“发送”)
3.接着,在 postman 里面,能够拿到发送的信息,然后,postman 有个功能,可以直接转换成代码。里面有个是 python 的,我就转换了。
4.把转换后的代码,放到我的 python 脚本里面
结果就是上面的这个 403 提示了。 这个是咋回事儿呢? 难道我需要提供 username/password ?可是我浏览这个网站时,没有这些啊?
5.postman 还可以转换成 curl 的命令行( cur -X GET ......),我试了一下,居然也可以成功拿回 html 的完整内容。就是在 python 中不行。
谢谢!
问题解决了,还是使用requests,在header里面添加了 user-agent,模拟Mozila 5.10 例如:
headers = { 'User-agent': "Mozilla 5.10", 'cache-control': "no-cache", 'postman-token': "220d2989-c111-fea3-874f-f5c31111db49" } 1 hotsun168 Apr 5, 2018 via iPhone 有没有可能是 useragent 识别。 |
2 owlsec Apr 5, 2018 贴代码吧。。。 |
3 eluotao Apr 5, 2018 via iPhone postman 可以,那就是你代码问题了 |
4 Molita Apr 6, 2018 via Android agent 头 识别 把比如 requests 这类的 ban 了? |
6 zhchyu999 Apr 6, 2018 via Android 抓包看结果 |
7 shootsoft Apr 6, 2018 via iPhone 内网有的会看 cookie,建议问问 IT |
8 eastrd Apr 6, 2018 via Android 建议你直接用 Selenium 模块来模拟浏览器访问网页,这样就不需要手动模拟各种 request headers 了。先从 chrome webdriver 开始,最后 phantomjs |
10 hotsun168 Apr 6, 2018 via iPhone @yazoox 我很早之前有用过一个叫 smartsniff 的工具,抓包的,分别正常浏览器打开网页,和用你的代码打开网页,对比抓到的包内容的区别。 |
11 ZoomQuiet Apr 6, 2018 via iPhone 是也乎 () 能用 cURL ? 那就用 py 调 cURL 通过 pipe 获得数据啊啊啊啊啊啊啊啊… python 是胶水…不是白胶的~ |
12 mianju Apr 6, 2018 |
13 ciensoledad Apr 6, 2018 via Android 之前遇到过类似的 分析之后用了 requests_ntml 解决了登陆问题 |