一、http請求
1、http請求方式:get和post
get一般用于獲取/查詢資源信息,在瀏覽器中直接輸入url+請求參數點擊enter之后連接成功服務器就能獲取到的內容,post請求一般用于更新資源,通過form表單或者json、xml等其他形式提交給服務器端,然后等待服務器端給返回一個結果的方式(這個返回結果一般就是被修改之后的是否成功的狀態,或者是修改后的最新數據table等)。
http請求,不論是get還是post請求,都會包含幾個部分,分別是header,cookie,get會有param,post會有body。
這個可以通過fiddler里面抓包就可以拿到需要的Headers,一般需要設置的值可能有:
header = { "Host": "x.x.360.cn", "Authorization": "Basic: someValue", "Content-Type": r"application/json", "Connection": "keep-alive", "Proxy-Connection": "keep-alive", "Cookie": "xxxxxxxxx(備注:這里的具體值請自行填寫,其他key對應的值也是一樣)", "User-Agent": "360xxxxxx(備注:這里的信息也請自行抓到之后填寫,不需要的話,可以不用填寫)" } 針對正式環境和測試環境需要設置url的地址,以及Header的"Host"中的具體域名的方法如下:
(1)正式環境:url中的host也設置成域名,比如:http://%s/search/searchList的%s就替換成 域名,在headers中的"HOST"的鍵對應的value也是域名,比如說都是"x.y.360.cn"
(2)測試環境: url中的host設置成具體的IP,比如:http://%s/search/searchList的%s就替換成 10.108.225.234這樣的具體IP(備注,這個IP就是你們平時開發上測試代碼的機器),但是headers中的"HOST"的鍵對應的value必須得寫成域名,比如"x.y.360.cn"
原因:因為一個IP地址對應的服務器上可能會有多個域名,因為可能會上多個不同業務的服務器代碼,如此會有一個默認的域名,但是并不一定是你的這個業務對應的域名,所以一定要在headers中的"HOST"中指定域名才可以找到這個域名,從而找到其對應的接口,進行正確的調用。
進一步,對于一個IP地址對應的服務器,其上會有很多域名,這個是如何部署的呢?需要問一下服務器端的同學,比如說會有x.360.cn和x.y.360.cn,這個是如何進行配置的呢?具體原因是使用了nginx的配置://www.jb51.net/article/140826.htm;具體的內容就是指:一臺nginx服務器多域名配置,然后客戶端請求的時候,就能自動根據這個host找到對應的文件目錄,然后找到對應處理方法,這個后續要再詳細了解一下。
cookie信息都是在headers里面的"Cookie"鍵對應的value后面,這個可以通過日志或者抓包得到,注意,抓到的信息一定要原封不動的全部拿來用。
另外,這個cookie信息也可以通過其他方式獲取,比如說,通過登錄接口拿到cookie信息,再將cookie信息設置到后續需要的"Cookie"中。
新聞熱點
疑難解答