当前位置: 首页 > 面试题库 >

使用Wget发布请求?

金高轩
2023-03-14
问题内容

我想使用wget将图片(使用身份验证令牌“ AUTH_1624582364932749DFHDD”)上传到远程服务器到“ test”文件夹。

该命令不起作用(授权失败),我想确保它与语法无关:

wget --post-file=nature.jpg http://ipadress:8080/v1/AUTH_test/test/ --post-data="AUTH_1624582364932749DFHDD"

有什么建议么?


问题答案:

Wget当前仅支持x-www-form-urlencoded数据。--post- file不是用于将文件作为表单附件传输,而是需要格式为的数据key=value&otherkey=example

--post-data--post-file以相同的方式工作:唯一的不同是,--post-data您可以在命令行中指定数据,而--post- file允许您指定包含要发送的数据的文件的路径。

这里是文档:

 --post-data=string
       --post-file=file
           Use POST as the method for all HTTP requests and send the specified data
           in the request body.  --post-data sends string as data, whereas
           --post-file sends the contents of file.  Other than that, they work in
           exactly the same way. In particular, they both expect content of the
           form "key1=value1&key2=value2", with percent-encoding for special
           characters; the only difference is that one expects its content as a
           command-line parameter and the other accepts its content from a file. In
           particular, --post-file is not for transmitting files as form
           attachments: those must appear as "key=value" data (with appropriate
           percent-coding) just like everything else. Wget does not currently
           support "multipart/form-data" for transmitting POST data; only
           "application/x-www-form-urlencoded". Only one of --post-data and
           --post-file should be specified.

关于身份验证令牌,应该在标头,URL路径或数据本身中提供它。必须在您使用的服务的文档中的某处指出。在POST请求中,就像在GET请求中一样,您必须使用键和值指定数据。这样,服务器将能够接收具有特定名称的多个信息。变量也是如此。

因此,您不仅可以将魔术令牌发送到服务器,还需要指定密钥的名称。如果密钥是“令牌”,则应该是token=YOUR_TOKEN

wget --post-data 'user=foo&password=bar' http://example.com/auth.php

另外,如果可以的话,应该考虑使用curl,因为使用它可以更轻松地发送文件。互联网上有很多例子。



 类似资料:
  • 我正在尝试从一个简单的Java项目创建一个HTTP POST请求。 我需要通过两个请求保留会话和cookie,所以我选择了Apache HttpClient。 代码编译时没有错误,也没有运行,但返回的内容长度为零,我不明白为什么。 结果是: 更新:我发现响应状态是302(已找到),当我从邮递员那里做同样的请求时,它是200(OK)。 任何人都可以告诉我我的代码有什么问题吗? 谢谢

  • 问题内容: 我需要将JSON从客户端发布到服务器。我正在使用Python 2.7.1和simplejson。客户端正在使用请求。服务器是CherryPy。我可以从服务器获取硬编码的JSON(代码未显示),但是当我尝试将JSON POST到服务器时,出现“ 400 Bad Request”。 这是我的客户代码: 这是服务器代码。 有任何想法吗? 问题答案: 从Requests 2.4.2及更高版本开

  • 问题内容: 我一直在尝试从SO和其他站点上的大量示例中学习,但是我无法弄清楚为什么我一起学习的示例无法正常工作。我正在构建一个小型的概念验证应用程序,该应用程序可以识别语音并将其(文本)作为POST请求发送到node.js服务器。我确认了语音识别功能,并且服务器正在通过常规浏览器访问获得连接,因此我被认为是问题出在应用程序本身。我想念一些小而愚蠢的东西吗?没有引发任何错误,但是服务器从不识别连接。

  • 问题内容: 我读了一些将jsons发布到服务器的示例。 有人说: OkHttp是Java提供的HttpUrlConnection接口的实现。它提供用于编写​​内容的输入流,并且不知道(或不在乎)内容的格式。 现在,我想用名称和密码的参数对URL进行常规发布。 这意味着我需要自己将名称和值对编码为流? 问题答案: 当前接受的答案已过期。现在,如果您想创建一个发布请求并向其中添加参数,则应该使用Mul

  • 我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。

  • 我有个大麻烦。我必须将应用程序中的一些参数发布到URL。但是,当我试图在WebView对象中执行此操作时,它会向我报告一个异常,该异常表示“不受信任的证书”(该异常由WebViewClient onReceivedSslError()的重写中的方法报告)。如何才能与服务器正确握手?你能给我一些提示吗?我快疯了... 真的,真的谢谢... 编辑:这是我定义webview的方式 这就是我在WebVie