http-post 相关问题

POST是HTTP协议方法之一;当客户端需要将数据发送到服务器时(例如上载文件或提交完成的表单)时使用它。

httpClient PostAsync 返回 405 方法不允许

我通过 Payfast 的自定义集成合并了他们。我正在最后一步通过向以下网址发出请求来验证 Payfast 的请求:https://sandbox.payfast.co.za/eng/query/validate。 ...

回答 1 投票 0

使用curl --fail获取页面输出

不带参数调用curl,我得到页面输出,即使http状态代码= 404: $ 卷曲 http://www.google.com/linux 不带参数调用curl,我会得到页面输出,即使http状态代码= 404: $ curl http://www.google.com/linux <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title>Error 404 (Not Found)!!1</title> <style> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/errors/logo_sm_2.png) no-repeat}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/errors/logo_sm_2_hr.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/errors/logo_sm_2_hr.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/errors/logo_sm_2_hr.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:55px;width:150px} </style> <a href=//www.google.com/><span id=logo aria-label=Google></span></a> <p><b>404.</b> <ins>That’s an error.</ins> <p>The requested URL <code>/linux</code> was not found on this server. <ins>That’s all we know.</ins> $ echo $? 0 状态码为0。 使用 --fail 调用它不会显示输出: $ curl --fail http://www.google.com/linux curl: (22) The requested URL returned error: 404 Not Found $ echo $? 22 现在状态码是22... 即使 http status = 404, 500(如第一次curl 执行),我也想获得输出,同时获得不同的系统错误(如第二次curl 执行中,$? = 22)。 可以用curl吗?如果没有,我怎样才能用另一个工具实现这一点(这个工具必须接受文件上传和发布数据!wget似乎不是替代方案......) 现在可以通过curl 实现这一点。从 7.76.0 版本开始你可以做 curl --fail-with-body ... 这正是OP所要求的:显示文档正文并以代码22退出。 参见 https://curl.se/docs/manpage.html#--fail-with-body 首先,错误代码(或退出代码)的最大值是 255。这是参考。 此外,--fail将不允许您做您正在寻找的事情。但是,您可以使用其他方法(编写 shell 脚本)来处理该情况,但不确定它是否对您有效! http_code=$(curl -s -o out.html -w '%{http_code}' http://www.google.com/linux;) if [[ $http_code -eq 200 ]]; then exit 0 fi ## decide which status you want to return for 404 or 500 exit 204 现在执行 $?,您将从那里获得退出代码。 您将在 out.html 文件中找到响应 html。 您还可以将 url 作为命令行参数传递给脚本。 检查这里。 不幸的是,卷曲是不可能的。但你可以使用 wget 来做到这一点。 $ wget --content-on-error -qO- http://httpbin.org/status/418 -=[ teapot ]=- _...._ .' _ _ `. | ."` ^ `". _, \_;`"---"`|// | ;/ \_ _/ `"""` $ echo $? 8 感谢@timaschew,这是我基于纯awk的增强版本: curl_fail_with_body() { curl -o - -w "\n%{http_code}\n" "$@" | awk '{l[NR] = $0} END {for (i=1; i<=NR-1; i++) print l[i]}; END{ if ($0<200||$0>299) exit $0 }' } # example usage curl_fail_with_body -sS http://httpbin.org/status/418 说明 -o - -w "\n%{http_code}\n" - 打印到标准输出(实际上它通过管道传输到下一个命令),最后带有状态代码 {l[NR] = $0} END {for (i=1; i<=NR-1; i++) print l[i]} - 打印除最后一行之外的所有行 END{ if ($0<200||$0>299) exit $0 } - 如果 last line != 2xx,将以非零代码退出 替代版本,如果你想在命令后输出错误代码: END{ if ($0<200||$0>299) {print "The requested URL returned error: " $0; exit 1} 顺便说一句,curl 从 v7.76.0 开始支持 --fail-with-body 选项。 此选项允许您在不使用外部工具的情况下实现所需的行为。 我找到了解决方案,因为 wget 不适合发送 multipart/form-data curl -o - -w "\n%{http_code}\n" http://httpbin.org/status/418 | tee >(tail -n 1 | cmp <(echo 2xx) - ) | tee >(grep "char 2"; echo $? > status-code) && grep 0 status-code 说明 -o - -w "\n%{http_code}\n" - 打印到标准输出(实际上它通过管道传输到下一个命令),最后带有状态代码 tee - 输出将通过管道传输到下一个命令,并另外打印到 stdout tail -n 1 - 从最后一行提取状态代码 cmp <(echo 2xx) - 比较状态代码,仅第一个字符 grep "char 2" - 如果第一个字符需要为 2,否则失败 在 shell 脚本中,您还可以进行更好的比较(目前它只允许 2xx,因此像 300 这样的重定向将被作为错误处理,cmp上面如何使用它) 这是我的解决方案 - 它使用 jq 并假设正文是 json # this code adds a statusCode field to the json it receives and then jq squeezes them together # curl 7.76.0 will have curl --fail-with-body and thus eliminate all this local result result=$( curl -sL -w ' { "statusCode": %{http_code}} ' -X POST "${headers[@]}" "${endpoint}" \ -d "${body}" "$curl_opts" | jq -ren '[inputs] | add' ) # always output the result echo "${result}" # jq -e will produce an error code if the expression result is false or null - thus resulting in a # error return code from this function naturally. This is much preferred rather than assume/hardcode # the existence of a error object in the body payload echo "${result}" | jq -re '.statusCode >= 200 and .statusCode < 300' > /dev/null

回答 6 投票 0

Google apps脚本UrlFetchApp和nodejs axios返回不同的结果;我的健身伙伴日记

我正在尝试从 MyFitnessPal 获取我的日记,我本机编写了以下有效的代码: “严格使用”; const axios = require('axios') 异步函数 getReport(用户名) { 常量

回答 1 投票 0

Retrofit2 POST 请求,以正文作为参数 Kotlin

我是 Kotlin 新手,无法将现有的 POST 请求参数更改为 body。我查看了其他答案,但没有一个答案具有与我的请求部分类似的代码。我...

回答 2 投票 0

在Web服务上接收POST数据

我有一个网站,应该从网络表单接收数据。我无法访问网络表单的代码。 我可以在网络表单上输入应发送数据的链接,它会向我发送...

回答 1 投票 0

如何使用 ID 数组从 Ballerina 表中选择记录?

我正在开发一个 Ballerina 项目,我有一个名为 fooTable 的记录表,其定义如下: 输入 Foo 记录 {| 只读 int id; 字符串名称; |}; 表键(id)

回答 1 投票 0

如何在Django中获取所有POST请求值?

有没有办法从 Django 的请求中获取所有表单名称? html请求 def demoform(请求): if request.method=="POST&...

回答 4 投票 0

如何在Django中获取POST请求值?

我有以下 django 模板(http://IP/admin/start/ 被分配给一个名为 view 的假设视图): {% 为来源中的来源 %} {{来源}} &l...

回答 5 投票 0

如何在 .NET Core Web API 中对具有外键的数据库表进行 POST/PATCH/PUT?

我正在尝试在 .NET Core Web API 中为包含外键的数据库表创建 POST、PATCH 和 PUT 方法。我不确定问题是出在我的方法上还是出在我测试的方式上

回答 2 投票 0

ktor - 在 kotlin 和 django 中使用不同的 JSON 键命名发出 post 请求

我想在 Ktor 和 django 中使用不同的 JSON 键命名来发出 post 请求。这不是什么大问题,但我想遵循 Kotlin 和 django 中命名 val 的约定。 这是嗬...

回答 1 投票 0

MVC4 忽略 [HttpGet] 和 [HttpPost] 属性

我正在尝试制作一个简单的测试网站,以允许我使用 MVC4 列出、创建、编辑和删除客户对象。 在我的控制器内,我有 2 个创建方法,一个用于在表单加载时获取...

回答 2 投票 0

向 Express.js 服务器发出 POST 请求时出现错误 404

我目前正在使用 Express.js 开发 Web 应用程序,并在尝试向服务器发出 POST 请求时遇到 404 错误。我有一个简单的 HTML 表单,带有一个提交按钮,可以...

回答 1 投票 0

使用 Guzzle 发送 post http 请求时出现错误 500 内部服务器错误

我正在尝试使用 Guzzle 发送 post http 请求,但出现错误 500 内部服务器错误 RequestException.php 第 113 行中的 ServerException: 服务器错误:`POST https://domainname/api/v1/user/

回答 1 投票 0

使用来自文件的发布数据向 cURL 发送请求

我需要从命令行通过 cURL 发出 POST 请求。此请求的数据位于文件中。我知道通过 PUT 这可以使用 --upload-file 选项来完成。 卷曲主机:端口/后f...

回答 6 投票 0

nginx乘客recv()在发送到客户端时失败(104:连接被对等方重置)

我正在将一些 json 发布到 nginx 上的 Sinatra post 路由。我收到 500 ISE 错误。我不知道为什么会发生这种情况。 JSON 很好,url 有效(在浏览器中拉出时显示 404...

回答 1 投票 0

类型“String”无法分配给参数类型“Map<String, dynamic>”?尝试了一些解决方案,但仍然卡住

这是我的代码: 地图?我的地图 = { 'conversationId': iD, '类型':'文本', '数据': _controller.text.toString(), 'msgLength':_controller.text.length, 'senderId': Provider.of( ...

回答 1 投票 0

如何使用邮递员添加请求批准

我需要执行以下步骤,但我之前没有使用过post请求,并且一直出现错误,你能帮忙吗? • 请求的详细信息 • API 链接,他们可以在其中查看请求的验证器 •

回答 1 投票 0

POST请求失败(放心测试)

我在放心地发出 POST 请求时遇到了问题。 这段代码的工作原理: 给定().contentType(ContentType.JSON).body("{\"key\":\"val\"}"). when().post(url + 资源).then().assert...

回答 3 投票 0

Axios API POST 请求即使在 Postman 中测试后也会返回 307 重定向错误

我最近不再使用 fetch() 方法进行 API 调用,而是实现了 Axios。我的 API 调用的 URL 之前都可以正常工作并且能够正确通信...

回答 1 投票 0

在调用submit()方法之前更改表单的formData

我需要使用 FormData 将一些数据添加到表单中,以便在提交表单时也会发布这条新数据,但我无法让它工作。请注意,我不想使用 ajax 或 fetch t...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.