web编程 模块1 html,Python Web编程

1.统一资源定位符(URL)

URL用来在Web上定位一个文档。浏览器只是Web客户端的一种,任何一个向服务器端发送请求来获取数据的应用程序都被认为是客户端

URL格式:port_sch://net_loc/path;params?query#frag

port_sch  网络协议或者下载规划,如http

/net_loc  服务器位置,如www.baidu.com

path  斜杠/限定文件或者CGI应用程序的路径

params  可选参数

query  连接符&连接键值对

frag  拆分文档中的特殊锚

2.urllib模块

2b65ef29a5872cc0e4771c25889edd04.gif

6a087676c59fa8b19d76e6bb55a32902.gif

1 urlopen(urlstr,postQueryData=None) #打开一个给定URL字符串与Web连接,并返回了文件类的对象

2 f.read([bytes]) #从f中读出所有或bytes个字节

3 f.readline() #从f中读出一行

4 f.readlines() #从f中读出所有行并返回一个列表

5 f.close() #关闭f的URL的连接

6 f.fileno() #返回f文件的句柄

7 f.info() #获得f的MIME头文件,文件类型可以用哪类应用程序打开

8 f.geturl() #返回f所打开的真正的URL

9

10 urlretrieve(urlstr,localfile=None,downloadStatusHook=None)11 #可以方便地将urlstr定位到的整个HTML文件下载到本地的硬盘上。

12 #返回一个二元组(filename,mine_hdrs),filename是包含下载数据的本地文件名,mine_hdrs是对Web服务器响应后返回的一系列MIME文件头

13

14 quote(urldata,safe=‘/‘) #将urldata的无效的URL字符编码;在safe列的则不必编码

View Code

3.urllib.request

在Python3.3后urllib2已经不能再用,只能用urllib.request来代替,可以处理更复杂URL的打开问题,如有基本认证(登录名和密码名)需求的Web站点

基本的网络请求示例

1 importurllib.request2

3 f = urllib.request.urlopen(‘http://www.baidu.com‘,data=None,timeout=10) #请求百度网页,超过10s为请求超时

4 print(f.read().decode(‘utf-8‘)) #读取所有字节数据并解码

5 print(f.status) #请求头信息 200代表成功 404代表网页未找到

urllib.request.Request(urll,data=None,headers={},method=None)

headers参数是一个字典,可以在构造Request时传参,也可以通过调用Request对象的add_header()方法来添加请求头,默认的User-Agent是Python-urllib可修改它来伪装成浏览器

method是一个字符串,用来指定请求使用的方式,如GET  POST  PUT

4.GET、PUT、POST

1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

1 from urllib importrequest,parse2

3 url = "http://httpbin.org/post"

4 headers = { #伪装成一个火狐浏览器

5 "User-Agent":‘Mozilla/4.0(compatible:MSIEm5-5;Windows NT)‘,6 "host":‘httpbin.org‘ #httpbin.org 这个网站能测试 HTTP 请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等,且支持 GET、POST 等多种方法

7 }8

9 dict = {"name":"chen"}10 data = bytes(parse.urlencode(dict),encoding="utf-8") #data如果是一个字典,可先用urllib.parse.urlencode()编码,再用bytes转换成字节流

11 req = request.Request(url = url,data=data,headers=headers,method=‘POST‘) #data须是字节流

12 response =request.urlopen(req)13 print(response.read().decode(‘utf-8‘))

返回结果:

de87603ef9c9424366977f22544dc947.png

原文:https://www.cnblogs.com/bfcs/p/11146709.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
后台采用apache服务器下的cgi处理c语言做微信小程序后台逻辑的脚本映射。PC端的服务器和客户端都是基于c语言写的。采用mysql数据库进行用户数据和聊天记录的存储。.zip C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值