我如何从这个网站得到回应?
How do I get a response from this website?
我的问题很简单,我想从以下网站得到回复:
http://www.pulsant.com
我只是想检查是否存在重定向,为此我使用了以下代码:
import urllib.request as Request
import urllib.parse
url = 'http://www.pulsant.com'
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
values = {'name': 'Michael Foord',
'location': 'Northampton',
'language': 'Python' }
headers = {'User-Agent': user_agent}
data = urllib.parse.urlencode(values).encode("utf-8")
debug_requests_on()
req = Request.Request(url, data, headers)
response = Request.urlopen(req)
the_page = response.read()
此代码适用于很多网站,但偶尔会有少数网站无法使用,因为我收到了以下回复:
HTTPError: HTTP Error 503: Service Temporarily Unavailable
这个网站肯定是在线和工作的,但是它给我的反应不是我所期望的。
我试过欺骗我的用户代理和发送请求的不同方法,但我终究无法弄清楚如何从该网站获得响应。
用 curl 试试(对我有用):
curl -i -H -L www.pulsant.com
或者如果你想要 https:
curl -i -H -L https://www.pulsant.com
或(与https://不同)
curl -i -H -L www.pulsant.com:443
响应与您描述的不同:
HTTP/1.1 301 Moved Permanently
Date: Wed, 01 Aug 2018 12:30:13 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Wed, 01 Aug 2018 13:30:13 GMT
Location: https://www.pulsant.com/
Server: cloudflare
CF-RAY: 4438509685966b7f-LHR
我尝试使用 requests
模块来获得响应,并且成功了。如果这对您不起作用,该网站可能有一些 GeoIP 阻止或其他机制:
import requests
from bs4 import BeautifulSoup
r = requests.get('http://www.pulsant.com')
soup = BeautifulSoup(r.text, 'lxml')
print(soup.title.text)
print(soup.h1.text)
打印:
Hybrid IT & Managed Cloud Hosting Solutions | Pulsant
Experts in compliant business cloud platforms
我的问题很简单,我想从以下网站得到回复: http://www.pulsant.com
我只是想检查是否存在重定向,为此我使用了以下代码:
import urllib.request as Request
import urllib.parse
url = 'http://www.pulsant.com'
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
values = {'name': 'Michael Foord',
'location': 'Northampton',
'language': 'Python' }
headers = {'User-Agent': user_agent}
data = urllib.parse.urlencode(values).encode("utf-8")
debug_requests_on()
req = Request.Request(url, data, headers)
response = Request.urlopen(req)
the_page = response.read()
此代码适用于很多网站,但偶尔会有少数网站无法使用,因为我收到了以下回复:
HTTPError: HTTP Error 503: Service Temporarily Unavailable
这个网站肯定是在线和工作的,但是它给我的反应不是我所期望的。
我试过欺骗我的用户代理和发送请求的不同方法,但我终究无法弄清楚如何从该网站获得响应。
用 curl 试试(对我有用):
curl -i -H -L www.pulsant.com
或者如果你想要 https:
curl -i -H -L https://www.pulsant.com
或(与https://不同)
curl -i -H -L www.pulsant.com:443
响应与您描述的不同:
HTTP/1.1 301 Moved Permanently
Date: Wed, 01 Aug 2018 12:30:13 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Wed, 01 Aug 2018 13:30:13 GMT
Location: https://www.pulsant.com/
Server: cloudflare
CF-RAY: 4438509685966b7f-LHR
我尝试使用 requests
模块来获得响应,并且成功了。如果这对您不起作用,该网站可能有一些 GeoIP 阻止或其他机制:
import requests
from bs4 import BeautifulSoup
r = requests.get('http://www.pulsant.com')
soup = BeautifulSoup(r.text, 'lxml')
print(soup.title.text)
print(soup.h1.text)
打印:
Hybrid IT & Managed Cloud Hosting Solutions | Pulsant
Experts in compliant business cloud platforms