python Proxy代理
1 from urllib import request
2
3 proxy = {
4 'http': 'http://219.141.153.41:80'
5 }
6
7 url = 'http://www.baidu.com/s?wd=ip'
8 # request.HTTPCookieProcessor(cookie)
9 handler = request.ProxyHandler(proxy)
10
11 # 生成 opener.open = urlopen
12 opener = request.build_opener(handler)
13
14 # 同过opener访问百度
15
16 response = opener.open(url, timeout=5)
17 # 存储页面
18 with open('baidu.html', 'wb') as f:
19 f.write(response.read())
jsCookie的封装
想要封装cookie方法,将要询问怎么用js去增添cookie,以致获取cookie。
怎么才具增多cookie?
js代码:document.cookie=“name=张三”;
里面name是key,张三就是其对应的value,在localhost下就能够查阅到有一条一时cookie了
怎么技艺拿到到cookie呢?
js代码:var cookie=document.cookie;
像这种类型就可以预知取拿到独具的cookie了,获取到的格式为“key1=value1; 空格key2=value2"(这里就加多两个cookie,可机关尝试卡塔 尔(阿拉伯语:قطر,获取其钦定value必要先将cookie转成数组,况且去掉空格,将前边的值切出,上面看代码:
var cookie=document.cookie;//取获得全部的cookie值
cookie=cookie.split(";")//那边的将收获的字符串进行以";"切割,获得贰个数组
for(var i=0;i<cookie.length;i ){ //循环cookie(上边的操作将cookie分割成了数组)
cookie[i]=cookie[i].trim() //此处是循环cookie数组,将里面包车型客车空格去除掉
}
console.log(cookie[0].name)
通过地点的进度就足以收获到相应的cookie的值了
下边实行增添和收获cookie的包裹
;(function getCookie(_name){
var str=_name '=';
varcookie=document.cookie;
cookie=cookie.split(';')
for(vari=0;i<cookie.length;i ){
cookie[i]=cookie[i].trim();
if(cookie[i].indexOf(str)==0){
return cookie[i].slice(str.length)
}
}
return'';
}
console.log(document.cookie)
}(document,window))
NSLog(@"getCookie: %@", tempCookie);
有道词典翻译接口
1 import time
2 import random
3 import json
4 from Day1.tuozhan_all import post
5
6 def md5_my(need_str):
7 import hashlib
8 # 创建md5对象
9 md5_o = hashlib.md5()
10 # 需要有bytes, 作为参数
11 # 由str, 转换成 bytes encode-------str.encode('utf-8')
12 # 由bytes转换成 str, decode---------bytes.decode('utf-8')
13 sign_bytes = need_str.encode('utf-8')
14 # 更新md5 object的值
15 md5_o.update(sign_bytes)
16 sign_str = md5_o.hexdigest()
17 return sign_str
18
19 # url
20
21 def translate(kw):
22 url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
23
24 headers = {
25 'Accept': 'application/json, text/javascript, */*; q=0.01',
26 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
27 'Connection': 'keep-alive',
28 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
29 'Cookie': 'OUTFOX_SEARCH_USER_ID=-493176930@10.168.8.63; OUTFOX_SEARCH_USER_ID_NCOO=38624120.26076847; SESSION_FROM_COOKIE=unknown; JSESSIONID=aaabYcV4ZOU-JbQUha2uw; ___rl__test__cookies=1534210912076',
30 'Host': 'fanyi.youdao.com',
31 'Origin': 'http://fanyi.youdao.com',
32 'Referer': 'http://fanyi.youdao.com/',
33 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
34 'X-Requested-With': 'XMLHttpRequest',
35 }
36
37
38 # form 的生成1. i 需要确定, 2, salt, 3, sign
39 key= kw
40
41 # salt : ((new Date).getTime() parseInt(10 * Math.random(), 10))
42 salt = int(time.time()*1000 random.randint(0,10))
43 print('salt:',salt)
44 salt_str = str(salt)
45
46 # sign : o = u.md5(S n r D);
47 # S = "fanyideskweb"
48 # D = "ebSeFb%=XZ%T[KZ)c(sy!"
49 # n = key
50 # r = salt_str
51 S = "fanyideskweb"
52 D = "ebSeFb%=XZ%T[KZ)c(sy!"
53 sign_str = S key salt_str D
54 # md5 加密的方法
55 sign_md5_str = md5_my(sign_str)
56
57 form = {
58 'i': key,
59 'from': 'AUTO',
60 'to': 'AUTO',
61 'smartresult': 'dict',
62 'client': 'fanyideskweb',
63 'salt': salt_str,
64 'sign': sign_md5_str,
65 'doctype': 'json',
66 'version': '2.1',
67 'keyfrom': 'fanyi.web',
68 'action': 'FY_BY_REALTIME',
69 'typoResult': 'false',
70 }
71
72 html_bytes = post(url, form, headers=headers)
73
74 # 将 json 类型的 str, 转化成, 字典
75 res_dict = json.loads(html_bytes.decode('utf-8'))
76 #print(html_bytes.decode('utf-8'))
77
78 translate_res = res_dict['translateResult'][0][0]['tgt']
79 return translate_res
80
81 if __name__ == '__main__':
82 ret = translate('中国')
83
84 print('翻译的结果:' ret)
cookie创建
骨干情势(session cookie 一时cookie在浏览器关闭后会消失)
$.cookie('名字',"值")
设若想要给cookie设置过期时间
$.cookie('名字',"值",{expires:过期光阴(天卡塔尔国,})
只要想要给一定页面(路线卡塔尔设置cookie
$.cookie("名字","值",{path:"路径"})
得到cookie
$.cookie("名字")
删除cookie
$.cookie('名字',null)
生龙活虎旦想要删除相应路径上的cookie
$.cookie('名字',null,{path:"路径"})
cookie应用途景
只假若你想要存款和储蓄的值,在后一次开采页面还能获取的图景下可以利用cookie
cookie能够将一些值保存在本地,本地能够透过$.cookie去赢得到对应的值
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
cookiejar模块:
- 管住积存cookie,将盛传的http央浼增多cookie
- cookie存款和储蓄在内部存款和储蓄器中,CookieJar示例回笼后cookie将自动消失
jqueryCookie的使用
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
实例:用cookjar访谈人人网主页
1 import json
2 from urllib import request,parse
3 from http import cookiejar
4
5 #实例化一个cookiejar对象
6 cookiejar_object = cookiejar.CookieJar()
7 #生成cookie管理器
8 cookie_handler = request.HTTPCookieProcessor(cookiejar_object)
9 #有了opener,就可以代替urlopen来进行请求网页
10 opener = request.build_opener(cookie_handler)
11
12
13 #获取网页的登陆接口
14 url = 'http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2018721532875'
15
16 #将网页的form信息获取
17 form = {
18 'email':'xxx',
19 'icode':'',
20 'origURL':'http://www.renren.com/home',
21 'domain':'renren.com',
22 'key_id':'1',
23 'captcha_type':'web_login',
24 'password':'xxx',
25 'rkey':'79d8184f25d678248262a91caf3e7ea8',
26 'f':'http://zhibo.renren.com/top',
27 }
28
29
30 #将数据转换成二进制
31 form_b = parse.urlencode(form).encode('utf-8')
32
33 #将url和表单信息,还有获取到的cookie去访问网页
34 response = opener.open(url,form_b)
35 html_b = response.read()#字节类型
36 # print(html_b)
37
38
39 res_dict = json.loads(html_b.decode('utf-8'))
40 #获取登陆后的个人主页url
41 home_url = res_dict['homeUrl']
42
43 # print(home_url)
44 # 访问个人主页
45 response = opener.open(home_url)
46 html_bytes = response.read()
47 print(html_bytes.decode('utf-8'))
for (NSHTTPCookie *tempCookie in cookiesAfterDelete) {
}
获得cookie只好在伸手中收获cookie,不然时获得不到的,url就不交付了,大家用本身的url测量检验一下就能够。
花了点时间把代码整理了弹指间,注释也都标上了
}
{
//存储归档后的cookie
for (NSHTTPCookie *tempCookie in cookies) {
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
}
//抽出保存的cookie
NSLog(@"无cookie");
for (id cookie in cookies) {
}
{
*/
/*
{
for (NSHTTPCookie *cookie in cookiesA) {
眼前,笔者这里删除cookie是为着检验前面的经过本地存款和储蓄的数据进行安装cookie是或不是成功
NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
获取到cookie后把cookie进行归档保存到userDefaults里
}
NSLog(@"============删除cookie===============");
}];
//设置cookie
* 注意:cookie无法一向调换为NSData类型,不然会引起崩溃。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[manager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSArray *cookiesAfterDelete = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
manager.responseSerializer = [AFJSONResponseSerializer new];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"setCookie: %@", cookie);
if (cookies) {
NSLog(@"n");
//打字与印刷得到的cookie
//删除cookie
nil;
把收获到的cookie删除掉,该步骤能够用在裁撤恐怕切换账号里。
}
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
#pragma mark 删除cookie
[self setCoookie];
NSLog(@"============再抽出保存的cookie重置cookie===============");
NSString *urlString = @"";
NSArray *cookiesA = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
//央浼三个网站,就可以分配到cookie
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
#pragma mark 获取并保存cookie到userDefaults
NSLog(@"n");
//对抽取的cookie实行反归档管理
//获取cookie
1,获取cookie
[self deleteCookie];
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]jQueryCookie的使用与jsCookie的包裹分分快三计划。;
把地面的cookie抽出并反归档,设置到cookie中,何况检查评定cookie是还是不是设置成功
for (NSHTTPCookie *tempCookie in cookies) {
}
//把cookie打字与印刷出来,检查测验是还是不是曾经去除
- (void)deleteCookie
NSLog(@"n");
2,删除cookie
* 所以先进行归档管理,再转移为Data
NSLog(@"cookieAfterDelete: %@", tempCookie);
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:[userDefaults objectForKey:@"cookie"]];
}
}else{
在应用程式开荒中,cookie也起头变的更为主要了。为了更加好的切换,注销和登陆账户,就亟须熟识cookie的用法。
//打字与印刷cookie,检查测量试验是不是中标安装了cookie
[cookieStorage deleteCookie:tempCookie];
#pragma mark 再抽出保存的cookie重新安装cookie
3,通过地方存款和储蓄的多少设置cookie
NSLog(@"=============获取cookie==============");
- (void)getAndSaveCookie
* 把cookie实行归档并转移为NSData类型
}
- (void)setCoookie
NSLog(@"有cookie");
jQueryCookie的使用与jsCookie的包裹分分快三计划。看一下运作截图
[userDefaults setObject: cookiesData forKey: @"cookie"];
[cookieStorage setCookie:(NSHTTPCookie *)cookie];
本文由分分快三计划发布,转载请注明来源