Atitit 发送post http 功能总结

目录

1. 常见三种模式 Form-data  Form-urlencode  Raw

2. Php code

2.1. urlencode  方式 默认

2.2. Json模式  设置 Content-Type: application/json

2.3. 纯文本  'Content-Type: text/plain

3. Nodejs  'axios' lib

4. Java

5. Js web

6. Ref

  1. 常见三种模式 Form-data  Form-urlencode  Raw  
  • application/x-www-form-urlencoded
  • multipart/form-data

urlencode  方式 默认

如果发送方没有添加 Content-Type:,服务方deflt user urlencode  来解析。。。

Json 和纯文本都要设置  'Content-Type: text/plain; charset=utf-8',

Content-Type: application/json

其实不指定 Content-Type:

应用程序/x-www-form-urlencoded

的application/x-www-form-urlencoded内容类型描述了在单个块中发送在HTTP消息体形式的数据。与 GET 请求中 URL 的查询部分不同,数据的长度不受限制。但是,媒体服务器拒绝超过配置参数指定大小的请求MaxFileUploadSize。

此内容类型对于发送包含非 ASCII 字符的大量二进制数据或文本效率低下,并且不允许您上传文件。出于这些目的,Micro Focus建议将数据发送为multipart/form-data(请参阅Multipart/form-data)。

在请求中:

  • 使用等号 ( =)将每个参数与其值分开。
  • 用逗号 ( ,)分隔多个值。
  • 用与号 ( &)分隔每个参数-值对。
  • Base-64 编码任何二进制数据。
  • URL 对所有非字母数字字符进行编码,包括 base-64 编码数据中的字符。

多部分/表单数据

在multipart/form-data内容类型中,HTTP 消息体分为多个部分,每个部分包含一个离散的数据部分。

每个消息部分都需要一个标头,其中包含有关该部分数据的信息。每个部分可以包含不同的内容类型;例如,text/plain,image/png,image/gif,或multipart/mixed。如果参数指定多个文件,则必须multipart/mixed在部分标题中指定内容类型。

每个消息部分的编码是可选的。消息部分标头必须指定除默认 (7BIT) 之外的任何编码。

Multipart/form-data 非常适合发送非 ASCII 或二进制数据,并且是唯一允许您上传文件的内容类型。有关表单数据的更多信息,请参阅http://www.w3.org/TR/html401/interact/forms.html。

  1. Php code

urlencode  方式 默认

如果发送方没有添加 Content-Type:,服务方deflt user urlencode  来解析。。。

Json模式  设置 Content-Type: application/json

Rest一般默认使用raw模式

CURLOPT_RETURNTRANSFER

将 curl_exec()获取的信息以文件流的形式返回,而不是直接输出

使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true。

$response = curl_exec($ch); // 已经获取到内容,没有输出到页面上。

curl_exec($ch);  直接输出到页面

/**
 * PHPJson
 *
 * @param $url url
 * @param $jsonStr 送的json字符串
 * @return array
 */
function http_post_json($url, $jsonStr)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//for setinto var not echo out
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json; charset=utf-8',
            'Content-Length: ' . strlen($jsonStr)
        )
    );
    $response_returnContent = curl_exec($ch);   //context ret
    $curl_getinfo = curl_getinfo($ch);
    echo 'curl_getinfo'.PHP_EOL;
    echo json_encode($curl_getinfo);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);   //

curl_close($ch);

return array($httpCode, $response_returnContent);
}

纯文本  'Content-Type: text/plain

//send is txt ,,let server use txt parser..
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: text/plain; charset=utf-8',
        'Content-Length: ' . strlen($str)
    )
);

  1. Nodejs  'axios' lib

const axios = require('axios')

axios

.post('https://whatever.com/todos', {

todo: 'Buy the milk'

})

.then(res => {

console.log(`statusCode: ${res.statusCode}`)

console.log(res)

})

.catch(error => {

console.error(error)

})

  1. Java
  2. Js web
  3. Ref

CURL中curl_setopt的中文含义 - 天行侠 - 博客园

Atitit 发送post http 功能总结目录1. 常见三种模式 Form-data Form-urlencode Raw 12. Php code 12.1. urlencode相关推荐

  1. atitit 方便搜索的文档文章结构框架.docx 目录 1.1. 三种搜索模式 tree hash关键词模式 关联搜索,对应的三种索引 1 1.2. 好的标题规范与副标题 1 1.3. Tr

    atitit 方便搜索的文档文章结构框架.docx 目录 1.1. 三种搜索模式  tree  hash关键词模式  关联搜索,对应的三种索引 1 1.2. 好的标题规范与副标题 1 1.3. Tre ...

  2. Oracle 11g dataguard三种模式以及实时查询(Real-time query)功能设置

    之前我们讨论过<Linux Oracle 11g dataguard物理standby 配置过程>, 但是在实际过程中会遇到不同的问题,首先我们讨论下ORACLE DATAGUARD的三种 ...

  3. android分屏模式_安卓 7.0 分屏功能详解:三种模式,想分就分

    IT之家讯 8月18日消息,安卓7.0的一大特色就是自带全新分屏功能,分为多画面显示模式.画中画模式和自由分屏模式三种,本文将详细介绍这三种模式. 多画面显示模式 启动该模式的方法有两种,一是在后台应 ...

  4. 「UG/NX」多功能集成一个dll的三种方法

    目录 常用入口函数说明 ufusr ufsta C语言方式集成 C++方式集成 简便方式集成 常用入口函数说明 UFUN帮助文档 ufusr void ufusr ( char * param, // ...

  5. Servlet功能实现和执行过程、servlet的生命周期、Servlet线程安全问题、Servlet的三种映射方式、ServletConfig、ServletContext

    1. 什么是Servlet? Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一. 第一:Servlet是一个运行在web服务端的java小程序 第二:它 ...

  6. Tomcat映射虚拟目录的三种方式(2021版)

    前言:首先要弄明白什么是TOMCAT的虚拟目录:当WEB应用开发完毕后,如果想要对外发布就需要部署到服务器上面,服务器的主要功能就是需要监听端口.接收和解析访问请求并转发给相应的WEB应用进行处理.比 ...

  7. ajax json 403,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式

    众所周知前端向后台发送 post 请求时,必须验证 csrf,否则会报错 403 Forbidden.使用 Django Form 表单可以直接在表单里面添加 {% csrf_token %} 即可, ...

  8. pm模式 raid_H3C案例查看:H3C RAID-1000 阵列卡多种模式的配置和功能

    针对PMC阵列卡的了解无非就是芯片8060 Raid卡,几乎都是默认的Raid模式去配置阵列,并且配置之前需要先做初始化,然后再去进行配置阵列,下面会介绍PMC阵列卡的一些其它的工作模式以及比较强大的 ...

  9. Freeswitch服务+语音网关设备发送短信功能

    本文档主要介绍的是发送短信的场景.语音通讯后续补充. 业务场景:由于产品部署在视频网.或者公安网这种内部网络,无法使用互联网,发送短信提醒的实现方案有两种 一种是是使用短信猫设备,插入手机卡,调用短信 ...

  10. atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 1.音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能。 铃声 功能。。 音频切割(按

    atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能. 铃声 功能.. 音频切割(按照副歌部分 ...

最新文章

  1. 从指纹到眼球识别:漫谈手机安全方案
  2. 完整mes代码(含客户端和server端_Ice简介+Qt代码示例
  3. 实现Redis用户会话 - 1
  4. 使用 ExecuteMultiple 提高批量数据加载的性能
  5. NDK编译c包含C++头文件时,出现 error: unknown type name 'class' 的解决方法
  6. py2exe将python打包成exe
  7. LeetCode每周刷题(2019.6.24-2019.6.30)
  8. 斯坦福大学吴恩达 机器学习视频2014年
  9. 中孚保密检查客户端 完全卸载_中孚计算机终端保密检查工具
  10. 计算机部分应用显示模糊,win10系统打开部分软件字体总显示模糊的解决方法-电脑自学网...
  11. cubic算法优化_CUBIC拥塞拥塞控制算法
  12. 雪花屏幕保护程序(VB.ENT)
  13. Java修炼——手写服务器项目
  14. 央行超级网银8月上线;Win7市场份额突破10%(每日关注2010.4.2)
  15. 基于JAVA实现的农夫过河问题
  16. python将多个列表合并_Python将多个list合并为1个list的方法
  17. Java基础教程1-Java特点和手把手教你安装JDK
  18. 4.四大类(DDL、DML、DQL、DCL)
  19. 非常牛逼的校园网过认证免流服务器
  20. 蓝色的建站网站页脚布局代码

热门文章

  1. mysql sumif优化,sumif函数的使用方法
  2. 伦茨8400变频器面板按键说明_国产变频器按键的各个功能
  3. android屏蔽按键精灵,安卓按键精灵的,关闭app程序问题!
  4. 擦拭法 java 泛型_廖雪峰Java4反射与泛型-3范型-4擦拭法
  5. 关于合格工程师素养的一些思考
  6. Kafka技术资料总结(不断更新中)
  7. Python_Mix*生成器,生成器函数,推导式,生成器表达式
  8. 在Js中创建对象的几种方式
  9. 英国大概率退出欧盟!
  10. 鸟哥的 Linux 私房菜13-- 学习 BASH Shell 咯