内容在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、...
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请求的细节...
在`prnqa-1.1`这个压缩包中,可能包含了一个名为`prnqa`的Python库或项目,它可能是一个用于处理网络请求的工具或者框架。如果你需要进一步了解这个库的功能和用法,可以解压文件并查看其源代码,或者根据博文链接...
5. 检查响应:`requests.post()`会返回一个`Response`对象,我们可以检查它的状态码(status code)和内容(content)来判断请求是否成功。 ```python if response.status_code == 200: print('登录成功') content...
当浏览器访问一个网页时,它会发送一个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....
schedule是一个简单易用的Python定时任务库,可以按照指定时间间隔或指定时间点执行任务。 首先,需要安装schedule库:通过命令`pip install schedule`即可。接下来,可以使用以下代码实现定时任务: ```python ...
本文实例讲述了python使用urllib2提交http post请求的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/python #coding=utf-8 import urllib import urllib2 def post(url, data): req = urllib2....
Python模拟网站登录 INTERNATIONAL MEDICAL SUMMIT FORUM 任务 Python模拟网站登录 任务背景 大多数网站需要登录才可以进行相应的操作。对网站进行扫描的过程中如果遇到登录则需要我们设计符合要求的代码自动登录到...
这个例子中,我们向'httpbin.org/post'发送了一个POST请求,携带了名为'key1'和'key2'的数据,然后打印出服务器返回的JSON响应。 总的来说,这个"python网络请求程序"项目涵盖了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 = {'...
这篇文档将详细解释如何在Python中实现一个可配置的多线程异步POST请求功能,包括设置持续运行时间、线程数量以及请求间隔。 首先,我们要了解Python中的`http.client`模块,它是用于HTTP客户端操作的标准库,例如...
例如,获取一个网页的HTML内容可以通过发送GET请求实现: ```python import requests response = requests.get('http://example.com') print(response.text) ``` 2. **JSON数据处理**:API通常返回JSON格式...