HTTPRequest
HTTPRequest[url]
表示特定 URL 的一个 HTTP 请求.
HTTPRequest[assoc]
表示从关联 assoc 的成分中创建的一个 HTTP 请求.
HTTPRequest[url,assoc]
表示带有像 assoc 给出的页眉这样的额外元素的特定 URL 的一个 HTTP 请求.
更多信息和选项
- HTTPRequest 给出 HTTP 请求的一个符号表达式;并不执行该请求.
- 在 HTTPRequest[url] 中, url 可以是字符串、URL 对象或云对象.
- URL 也可以通过给出关联中的下列成分指定:
-
"Scheme" URL 方案 "User" 用户信息 "Domain" 域名或主机 "Port" 端口号(整数) "Path" 路径列表或字符串 "Query" 查询字符串或参数-值对列表 - 下列额外条目也可以在关联中给出:
-
Method "GET" 用于 HTTP 请求的方法 "Body" "" 要发送的消息主体的内容 "ContentType" Automatic 请求的内容类型页眉 "Username" "" 用于请求的用户名 "Password" "" 用于请求的密码 "Cookies" Automatic 要送至服务器的缓存内容 "UserAgent" Automatic 要发送的用户代理字符串 "Headers" {} 要发送给服务器的页眉列表 - "Body" 的设置可以有下列形式;
-
"string" 要发送的字符串 ByteArray[…] 要发送的字节数组 {b1,b2,b3,…} 要发送的字节列表 {"par1""val1","par2""val2",…} 要发送的 URL 编码参数和值列表 {"par1"{"val11",…},…} 与一个参数相关联的多个值的列表 <"key1"val1,"key2"val2,… > 参数和值列表的其他形式 {"par1"File[…],"par2"File[…],…} 带有多部分编码(multipart encoding)的待发送文件 {"par1"assoc1,…} 有对各部分详细说明的多部分编码 - 多部分编码中各部分的详细说明以与下列元素的关联形式给出:
-
"Content" 字符串、字节数组、文件对象等形式的内容 "Name" 指定给各部分的名称 "MIMEType" 指定给各部分的 MIME 类型 - "Cookies"->Automatic 设置指定应该发送对应于 url 域的 $Cookies 中的缓存内容(Cookie). "Cookies" 也可以给出表示这些缓存内容的关联的显式列表.
- "Headers" 的设置可以是一个规则列表或一个关联.
- 默认的 "UserAgent" 通常是 "Wolfram HTTPClient xxxx",其中 xxxx 是版本号.
- HTTPRequest 支持下列选项:
-
CharacterEncoding Automatic 已发送字符串的字符编码 CookieFunction Automatic 要应用于收到的各缓存内容的函数 FollowRedirects True 是否遵循 HTTP 的重定向 Interactive True 是否允许交互式的认证对话 TimeConstraint Infinity 等待响应的时间 VerifySecurityCertificates True 是否合适 SSL 安全证书 - 设置 CharacterEncoding->"enc" 指定了出现在请求中的所有字符串都应该在发送给服务器前通过 enc 进行编码.
- 设置 CharacterEncoding->None 指定了字符串发送给服务器之前不进行任何改变.
- 通过 CharacterEncoding->Automatic,如果指定,编码将从 "ContentType" 元素中取出;否则编码是 "UTF8".
- TimeConstraint->t 允许连接到 HTTP 请求中指定的 URL 并从中读取使用至多 t 秒.
- TimeConstraint-><"Connecting"->tc,"Reading"->tr > 为到 URL 的连接并从中读取指定不同的超时设定.
- HTTPRequest[…]["prop"] 提取 HTTP 请求的 prop 属性值.
- 包括所有成分和额外元素在内的可能属性还有:
-
"Body" 作为字符串的请求主体 "BodyByteArray" 作为 ByteArray 对象的请求的原始主体 "BodyBytes" 作为字节值列表的请求的原始主体 "FormRules" 请求中所有形式的元素的规则 "PathString" 作为字符串的完整路径 "QueryString" 完整的查询字符串 "AbsolutePath" 包括方案和域的作为字符串的完整路径 "AbsoluteDomain" 包括方案的作为字符串的完整域 "Properties" 所有可能属性的列表 "PropertyAssociation" 给出所有属性值的关联
范例
打开所有单元关闭所有单元基本范例 (1)
范围 (2)
改变给定 URL 的查询参数和方案:
作用于关联时在列表内对参数分组是很有用的,这是因为它们不允许重复的键:
如果没有指定 Method,则自动使用 "GET":
要发送在主体为 URL 编码的 HTTP 请求的话,可以只发送一个值列表. 如果没有指定 Method,则自动使用 "POST":
要想发送更复杂的文件规格,可以使用 Association:
Association 中的内容可以是字符串、 ByteArray 或 File:
选项 (4)
属性和关系 (2)
可能存在的问题 (1)
巧妙范例 (1)
Import 一个 APIFunction:
文本
Wolfram Research (2016),HTTPRequest,Wolfram 语言函数,https://reference.wolfram.com/language/ref/HTTPRequest.html.
CMS
Wolfram 语言. 2016. "HTTPRequest." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/HTTPRequest.html.
APA
Wolfram 语言. (2016). HTTPRequest. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/HTTPRequest.html 年