-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1640_1.py
More file actions
50 lines (39 loc) · 1.87 KB
/
1640_1.py
File metadata and controls
50 lines (39 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 抽象成为方法
import requests
import urllib3
# https协议压制警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# # 正常情况下,加入购物车操作时,请求会在header中加入Cookie传给服务器,服务器根据cookie进行用户判断
# # 两次请求用了同一个session,有同一个header(包含cookie信息),即保证第二个请求操作成功
# host = 'https://www.shwzoo.com'
# session = requests.session()
# url = host + '/tools/submit_ajax.ashx?action=user_login'
# params = {'txtUserName': 'chn0622@sina.com', 'txtPassword': 'chn432431'}
# r = session.post(url, params, verify=False)
# print(r.status_code)
#
# url2 = host + '/tools/submit_ajax.ashx?action=cart_goods_buy'
# # Fiddler抓包,request-WebForms-Body中可以看到参数信息,每一行为参数字典中的key-value,key和value均为字符串类型
# params2 = {
# 'jsondata': '[{"goods_id":"34","sell_price":"120.00", "quantity":"2", "goods_type":"1","cart_id":"0","tick_time":"2019-04-13","sku":"73576"}]'}
# r2 = session.post(url2, params2, verify=False)
# print(r2.status_code)
# print(r2.text)
session = requests.session()
def request(host, url, method_name, params):
url = host + url
if method_name == 'post':
return session.post(url, params, verify=False)
elif method_name == 'get':
return session.get(url)
host = 'https://www.shwzoo.com'
url1 = '/tools/submit_ajax.ashx?action=user_login'
params1 = {'txtUserName': 'chn0622@sina.com', 'txtPassword': 'chn432431'}
url2 = '/tools/submit_ajax.ashx?action=cart_goods_buy'
params2 = {
'jsondata': '[{"goods_id":"34","sell_price":"120.00", "quantity":"2", "goods_type":"1","cart_id":"0","tick_time":"2019-04-13","sku":"73576"}]'}
# r1 = request(host, url1, 'post', params1)
# print(r1.status_code)
r2 = request(host, url2, 'post', params2)
print(r2.status_code)
print(r2.text)