首页 > 编程知识 正文

用python模拟提交表单,python提交form表单

时间:2023-12-27 22:27:25 阅读:326040 作者:DSLH

本文目录一览:

如何用python脚本提交JS的表单

如果是要提交表单内容给 服务器的 python 处理,那么只需要在表单 form 里面的 action 填写服务端的处理路由就可以了。或者用 a 指向服务器路由get querystring。前端方面不需要python啊。

前端的提交交互动作,都是由 javascript 处理就可以了

远程登录ssh之后,那个web页面可以通过url访问还是服务器上可以直接读取的文件?

如果是前者,就等于python爬虫了,使用 uillib urllib2访问 web页面的 url 得到响应,然后解析,再使用刚才两个标准模块里面的.大概事例代码:

import urllib, urllib2

res = urllib2.urlopen("")

html = res.read()

# 解析 html ,读取 你要提交的内容

# 提交到新的连接

# get

params = urllib.urlencode({'programe': 'python', 'age': 12})

f = urllib.urlopen("" % params)

# post

params = urllib.urlencode({'programe': 'python', 'age': 12})

f = urllib.urlopen("", params)

直接读取服务器上的web文件内容解析提交的内容,后面的过程也是一样。

另外,python 有个 requests 的库,封装得更好,使用方便

python如何模拟含有文件上传的表单

在机器上安装了 Python 的

setuptools,可以通过下面的命令来安装 poster:

easy_install poster

装完之后,就可以像用下面代码模拟上传文件表单了:

from poster.encode import multipart_encode

from poster.streaminghttp import register_openers

import urllib2

# 在 urllib2 上注册 http 流处理句柄

register_openers()

# 开始对文件 "DSC0001.jpg" 的 multiart/form-data 编码

# "image1" 是参数的名字,一般通过 HTML 中的 input 标签的 name 参数设置

# headers 包含必须的 Content-Type 和 Content-Length

# datagen 是一个生成器对象,返回编码过后的参数

datagen, headers = multipart_encode({"image1": open("DSC0001.jpg", "rb")})

# 创建请求对象

request = urllib2.Request("", datagen, headers)

# 实际执行请求并取得返回

print urllib2.urlopen(request).read()

如何用PYTHON的CGIHTTPSERVER模块模拟POST请求

这次又要逼真一点点,可以弄POST请求啦。

在WEB根目录下新建cgi-bin目录(据说是规模要求),然后运行命令:

1

python -m CGIHTTPServer

CGI-BIN目录下,form.py处理POST请求的内容(简化到不行):

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

# -*- coding: utf-8 -*-

import cgi

header = 'Content-Type: text/htmlnn'

html = 'h3接受处理表单数据n/h3'

#打印返回的内容

#print header

#print html

# 接受表达提交的数据

form = cgi.FieldStorage()

#print '接收表达get的数据 :',form

print 'p /'

# 解析处理提交的数据

content = form['userName'].value

print content, '$$$$$$$$$$$$$'

formhtml = '''

%s

'''

print formhtml % ('登陆成功')

然后,就可以测试EXTJS中的提交表单更新HTML元素啦。

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

!DOCTYPE html

html

head

titleExtJs/title

meta http-equiv="Content-Type" content="text/html; charset=utf-8"/

link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css"

script type="text/javascript" src="ExtJs/ext-all.js"/script

script type="text/javascript" src="ExtJs/bootstrap.js"/script

script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"/script

script type="text/javascript"

Ext.onReady(function(){

var loader = Ext.get("loginMsg").getLoader();

Ext.get('loginBtn').on('click', login);

function login(){

loader.load({

form: "loginForm",

url: '/cgi-bin/form.py'

});

}

});

/script

/head

body style="margin: 20px"

form id="loginForm"

用户名:input name="userName" type="text"

密码:input name="password" type="password"

input type="button" value="登陆" id="loginBtn"

/form

状态:span id="loginMsg"/span

/body

/html

如果现实是无极,那内存就是太极,CPU的作用只是力图将线性化的空间还原为立体化的空间。其间当然要涉及映射运算。

如何在 Python 中模拟 post 表单来上传文件

物信息、统计、网页制作、计算等多个领域都体现出了强大的功能。python和其他脚本语言如java、R、Perl 一样,都可以直接在命令行里运行脚本程序。工具/原料

python;CMD命令行;windows操作系统

方法/步骤

1、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。

2、打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。

脚本第一行一定要写上 #!usr/bin/python

表示该脚本文件是可执行python脚本

如果python目录不在usr/bin目录下,则替换成当前python执行程序的目录。

3、编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中,如果没有加入到环境变量,请百度

4、在CMD命令行中,输入 “python” + “空格”,即 ”python “;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可。

python http requests 怎么实现模拟登录,提交表单

以下实例是一个完整的代码,实现了从博客获取内容发布至百度,分别实践抓取博客内容、模拟登录、表单提交这几步;

#注意,以下程序是一个完全程序,如果只需要实现模拟登录,提交表单,删除抓取部分即可,相关的代码已经清楚标注,可以根据自己实际情况修改。

代码如下:

# -*- coding: utf-8 -*-

import re

import urllib

import urllib2

import cookielib

#第一步,获取博客标题和正文 ,“IP”可以改为实际地址;

url = "IP"

sock = urllib.urlopen(url)

html = sock.read()

sock.close()

content = re.findall('(?=blogstory").*(?=p class="right artical)', html, re.S)

content = re.findall('script.*.*/script(.*)', content[0], re.S)

title = re.findall('(?=title)(.*)-.* - CSDN.*(?=/title)', html, re.S)

#根据文章获取内容新建表单值

blog = {'spBlogTitle': title[0].decode('utf-8').encode('gbk'), #文章标题

'spBlogText': content[0].decode('utf-8').encode('gbk'),#文章内容

'ct': "1",

'cm': "1"}

del content

del title

#第二步,模拟登录百度;

cj = cookielib.CookieJar()

#登陆百度的用户名和密码

post_data = urllib.urlencode({'username': '[username]', 'password': '[password]', 'pwd': '1'})

#登录地址路径

path = ''

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

opener.addheaders = [('User-agent', 'Opera/9.23')]

urllib2.install_opener(opener)

req = urllib2.Request(path, post_data)

conn = urllib2.urlopen(req)

#获取百度登陆认证令牌

bd = urllib2.urlopen(urllib2.Request('[username]/creat/blog')).read()

bd = re.findall('(?=bdstoken" value=").*(?=ct)', bd, re.S)

blog['bdstoken'] = bd[0][:32]

#设置分类名

blog['spBlogCatName'] = 'php'

#第四步,比较表单,提交表单;req2 = urllib2.Request('[username]/commit', urllib.urlencode(blog))

#最后,查看表单提交后返回内容,检验;

print urllib2.urlopen(req2).read()

#注意:将[username]/[password]替换为自己真实用户名和密码

如何用python提交一个web表单

采用python模拟访问http资源就可以了。将表中的数据填充,然后按照http的post方式提交过去

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。