内容在http://iihero.cn上也有,这里转摘一下。
近期用空闲时间看了看python的一部分module,感觉这斯功能确实so good, so powerful.
(1) 用它post一个http请求:
importurllib,urllib2,cookielib
defpost3():
#formail.sina.com.cn
cj=cookielib.CookieJar()
url_login='http://mail.sina.com.cn/cgi-bin/login.cgi'
body=(('logintype','login'),('u','username'),
('psw','********'))
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#opener.addheaders=[('User-agent','Opera/9.23')]
opener.addheaders=[('User-agent',
'Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1)')]
urllib2.install_opener(opener)
req=urllib2.Request(url_login,urllib.urlencode(body))
u=urllib2.urlopen(req)
printu.read().decode('utf-8').encode('gbk')
下午,试了一下python的http 相关类的方法,用上述代码登录新浪邮箱,试了一段时间,
比较关键的是User-agent,上边两种浏览器的agent都支持。估计python默认的User-agent得不到sina.com的验证。
python写这种http method代码还是蛮方便的。
(2) 写一个定时执行任务的小东东,这里是单线程版本,要改成多线程的也容易。
#!/usr/bin/envpython
#coding=utf-8
importthread,time
deftask():
'''
Herewecanexecutesometasktobescheduledeverynseconds
'''
print"taskdoing......"
defmain(n):
t=time.time()
start_t=t
end_t=start_t+60*60*72
#while(t<end_t):
whileTrue:
task()
time.sleep(n)
t=time.time()
if__name__=="__main__":
try:
main(5)
exceptKeyboardInterrupt:
print"Systemexit......"
sys.exit(1)
分享到:
相关推荐
作者从一个以Java为生产语言的背景出发,转而使用Python,展示了语言选择的灵活性和Python的易用性。 2. 批量发送POST请求:文档介绍了如何在Python中实现批量发送POST请求的功能。在真实场景中,这种需求可能出现...
在Python爬虫开发中,有时候我们需要模拟POST请求与服务器交互,获取特定的数据。在处理某些网站时,我们可能遇到POST请求需要使用`request payload`格式的情况。与常见的`form data`不同,`request payload`是一种...
在给定的标题和描述中,“python做get和post请求”指的就是如何使用Python实现HTTP的GET和POST方法。这两种方法是HTTP协议中最基本的操作,GET用于获取资源,而POST用于提交数据。 在Python中,有几个模块可以用来...
Scrapy是Python的一个强大爬虫框架,它提供了一整套解决方案,包括请求调度、数据提取、中间件处理、项目结构管理等。其主要特性包括: 1. 项目结构:Scrapy项目由多个组件构成,如Spider、Item、Pipeline、...
在这个场景中,我们关注的是如何使用libcurl库(一个强大的URL传输库)在C++中向一个用Python编写的简单服务器发送POST请求,同时携带JSON数据。让我们深入探讨这个过程中的关键知识点。 首先,我们要了解Python的...
本文将深入探讨如何使用Python实现一个简单的HTTP服务器,支持GET和POST请求。通过理解这个过程,你可以更好地理解网络通信的基本原理,以及Python在网络编程中的应用。 首先,让我们了解HTTP(超文本传输协议)的...
1.安装对应的库 2.将test_http_copy.py代码复制到自己的服务器或电脑上 3.python test_http_copy.py启动或(ohup python -u test_http_copy.py > test.log 2>&1 & 后台启动) 4.使用postman调用自测。
然而,requests的默认行为是串行发送请求,这意味着一次只能发送一个请求,并且需要等待前一个请求响应后才能继续发送下一个。 2. 串行请求的局限性:由于requests发送请求是串行的,这在需要大量发送请求时将导致...
总结,Python3中的HTTP请求处理主要依赖`requests`库,它提供了方便的接口用于发送GET和POST请求,以及处理其他HTTP方法。GET用于获取资源,POST用于提交数据。通过设置请求头和参数,我们可以自定义HTTP请求的细节...
当浏览器访问一个网页时,它会发送一个HTTP GET请求到服务器,服务器接收到请求后返回HTTP响应,其中包含HTML页面内容。Python的requests库可以帮助我们模拟这些操作,通过发送GET或POST请求获取网页内容。 2. 逆向...
本文研究的主要是Python使用requests发送POST请求的相关内容,具体介绍如下。 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行 请求报头 消息主体 HTTP协议规定post提交的...
在`day_tasks.py`中,使用`APScheduler`的`BackgroundScheduler`创建一个后台调度器,并添加定时任务: ```python from apscheduler.schedulers.background import BackgroundScheduler from apscheduler....
学习Python网络通信的时候发现书上只有一个服务端对应一个客户端的情形,于是自己想自己动手实现一个服务端响应多个客户端。 首先建立服务器的socket来监听客户端的请求: tcpSerSock=socket(AF_INET,SOCK_STREAM) ...
schedule是一个简单易用的Python定时任务库,可以按照指定时间间隔或指定时间点执行任务。 首先,需要安装schedule库:通过命令`pip install schedule`即可。接下来,可以使用以下代码实现定时任务: ```python ...
Python模拟网站登录 INTERNATIONAL MEDICAL SUMMIT FORUM 任务 Python模拟网站登录 任务背景 大多数网站需要登录才可以进行相应的操作。对网站进行扫描的过程中如果遇到登录则需要我们设计符合要求的代码自动登录到...
注,需要安全scapy 在centos下,请执行以下脚本安装scapy #!/usr/bin sh cd /tmp wget scapy.net unzip scapy-latest.zip cd scapy-2.* python setup.py install 需要手工启动和杀线程关闭 经测python2可用
以下是一个例子: ```python import gzip import json import requests data = {"key1": "value1", "key2": "value2"} compressed_data = gzip.compress(json.dumps(data).encode('utf-8')) headers = {'...
* `requests.request()`: 构造一个请求,支持上述各方法的基础方法。 Response 对象 requests 模块的 Response 对象提供了多种属性来描述 HTTP 响应的信息,包括: * `status_code`: HTTP 请求的返回状态,200 ...
例如,获取一个网页的HTML内容可以通过发送GET请求实现: ```python import requests response = requests.get('http://example.com') print(response.text) ``` 2. **JSON数据处理**:API通常返回JSON格式...