user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' values = {'username' : 'cqc', 'password' : 'XXXX' } headers = { 'User-Agent' : user_agent }
這樣,咱們設置了一個headers,在構建request時傳入,在請求時,就加入了headers傳送,服務器若識別了是瀏覽器發來的請求,就會獲得響應。另外,咱們還有對付」反盜鏈」的方式,對付防盜鏈,服務器會識別headers中的referer是否是它本身,若是不是,有的服務器不會響應,因此咱們 還能夠在headers中加入本身的referer,以下所示:正則表達式
headers = { 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' , 'Referer':'http://www.zhihu.com/articles' }
同上面的方法,在傳送請求時把headers傳入Request參數裏,這樣就能應付防盜鏈了。
另外headers的一些屬性,下面的須要特別注意一下:json
User-Agent : 有些服務器或 Proxy 會經過該值來判斷是不是瀏覽器發出的請求 Content-Type : 在使用 REST 接口時,服務器會檢查該值,用來肯定 HTTP Body 中的內容該怎樣解析。 application/xml : 在 XML RPC,如 RESTful/SOAP 調用時使用 application/json : 在 JSON RPC 調用時使用 application/x-www-form-urlencoded : 瀏覽器提交 Web 表單時使用 在使用服務器提供的 RESTful 或 SOAP 服務時, Content-Type 設置錯誤會致使服務器拒絕服務