的人誰可能知道,在世界上最困難的事情對我來說簡單的問題:如何跟蹤從各種301s到我的目的地頁面的路線?
這是一個加盟URL(我沒有試圖讓你買任何東西; ))
現在,當我單擊搜索時,它會帶我到一箇中間頁面,然後它將參數發送到lastminute以打開目標頁面。
第二頁非常快,我無法查看它或無論如何讀取它的源代碼。我如何跟蹤發送的頁面和參數?
的人誰可能知道,在世界上最困難的事情對我來說簡單的問題:如何跟蹤從各種301s到我的目的地頁面的路線?
這是一個加盟URL(我沒有試圖讓你買任何東西; ))
現在,當我單擊搜索時,它會帶我到一箇中間頁面,然後它將參數發送到lastminute以打開目標頁面。
第二頁非常快,我無法查看它或無論如何讀取它的源代碼。我如何跟蹤發送的頁面和參數?
您可以使用數據包嗅探器(如Wireshark)或監控網絡流量的瀏覽器插件捕獲發送的每個請求以及每個接收到的頁面。
那麼,我寫了一個小蟒蛇找出來。
import urllib
def make_request(url, method='GET'):
protocol, hostpath = urllib.splittype(url)
if hostpath[:2] != '//':
hostpath = '//' + hostpath
host, path = urllib.splithost(hostpath)
if len(path.strip()) == 0 or path[0] != '/':
path = '/' + path
query = "%s %s HTTP/1.1\r\nHost: %s\r\n\r\n"%(method, path, host)
if protocol != 'http' and protocol is not None:
raise ValueError, 'Invalid protocol specified. http only'
addresses = socket.getaddrinfo(host, 80)
return (addresses, query)
def do_request(addresses, query):
sock_type = addresses[0][:3]
addr = addresses[0][4]
connection = socket.socket(*sock_type)
connection.connect(addr)
connection.sendall(query)
return connection
def urlpeek(url):
return do_request(*make_request(url))
當我執行你給的地址在偷看,它看起來像服務器實際上是返回一個200 OK響應,其中主要包括JavaScript的...