所以我环顾四周,唯一描述我问题的问题是 6 年前的问题,有 0 个答案,所以我想我会再试一次。
我正在使用 delphi 2009 和 Indy10。
我正在尝试JSON使用 HTTPS 发布到 api。
Instance.FHTTP := TIdHTTP.Create;
Instance.FHTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Instance.FHTTP);
{$IFDEF DEBUG}
Instance.FHTTP.ProxyParams.ProxyPort := 8888;
Instance.FHTTP.ProxyParams.ProxyServer := '127.0.0.1';
{$ENDIF}
Instance.FHTTP.Request.ContentType := 'application/json';
Instance.FAccessToken := Instance.FHTTP.Post('https://somedomain.com/api/endpoint', '{JSONName: JSONValue }' );
Run Code Online (Sandbox Code Playgroud)
我看到很多答案建议有效负载应作为方法中的参数JSON给出,但是当我尝试这样做时,它需要一个文件路径,并抛出一个错误:stringTidHTTP.Post
'无法打开文件“[项目路径{JSONName:JSONValue }]”。指定的文件未找到'。
如果我将 my 添加JSON到 aTStringList并将其作为参数添加,它只会将 JSON 添加到请求的标头中。
任何帮助是极大的赞赏。
我的控制器上有以下 Guzzle 发送请求:-
$client = new GuzzleHttp\Client(['base_uri' => 'https://domainname/api/v1/']);
$response = $client->request('POST', 'user/register', [
'headers' => [
'Authorization' => Session::get('token'),
'Content-Type' => 'application/x-www-form-urlencoded'
]],
[ 'form_params' => [
'user_id' => $user->id,
'start_date' => $start_date,
'expiry_date' => $expiry_date
],
]);
$response= $response->getBody();
Run Code Online (Sandbox Code Playgroud)
上面的语法仅发送标头,但是,我应该使用什么正确的语法来发送标头和正文。
我想查看使用 Spring Boot 构建的端点中的所有请求相关详细信息(例如标头、正文)。如何获得?
@RestController
public class SomeRestController {
...
@PostMapping("path/")
public String getResponse(@RequestBody SomeObject object) {
// There I want to look at Request details... but how?
...
}
...
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个可以侦听和处理 POST 请求的小型 Python 3.8 脚本。我想监听来自 Trello 的 POST,然后记录数据。我读过的每个视频或指南都展示了如何处理来自 HTML 表单的 POST 请求。
特雷洛示例:
{
"action": {
"id":"51f9424bcd6e040f3c002412",
"idMemberCreator":"4fc78a59a885233f4b349bd9",
"data": {
"board": {
"name":"Trello Development",
"id":"4d5ea62fd76aa1136000000c"
},
"card": {
"idShort":1458,
"name":"Webhooks",
"id":"51a79e72dbb7e23c7c003778"
},
"voted":true
},
"type":"voteOnCard",
"date":"2013-07-31T16:58:51.949Z",
"memberCreator": {
"id":"4fc78a59a885233f4b349bd9",
"avatarHash":"2da34d23b5f1ac1a20e2a01157bfa9fe",
"fullName":"Doug Patti",
"initials":"DP",
"username":"doug"
}
},
"model": {
"id":"4d5ea62fd76aa1136000000c",
"name":"Trello Development",
"desc":"Trello board used by the Trello team to track work on Trello. How meta!\n\nThe development of the Trello API is being tracked at https://trello.com/api\n\nThe development of Trello Mobile …Run Code Online (Sandbox Code Playgroud) 正如我试图发布评级活动的结果.从用户读取评级值后,我正在调用Web服务,并在其中设置JSON对象.由于我的网络服务器需要身份验证,我也能够验证.
但真正的问题是响应代码应该是200但是我接收201.请建议我哪里出错了!
码:
public static String sendJson(final int rating, final String url) {
Thread t = new Thread() {
public void run() {
Looper.prepare(); // For Preparing Message Pool for the child
HttpResponse response;
// proxy
final String PROXY = "xxx.xxx.xxx.xxx";
// proxy host
final HttpHost PROXY_HOST = new HttpHost(PROXY, 8080);
HttpParams httpParameters = new BasicHttpParams();
mHttpClient = new DefaultHttpClient(httpParameters);
HttpConnectionParams.setConnectionTimeout(mHttpClient.getParams(),
10000); //Timeout Limit
mHttpClient.getParams().setParameter(
ConnRoutePNames.DEFAULT_PROXY, PROXY_HOST);
System.out.println("Sending proxy request: " + mHttpClient);
// mHttpClient = new DefaultHttpClient();
JSONObject json …Run Code Online (Sandbox Code Playgroud) 我的服务器要求我们将包含设备ID的标头发布到服务器,通常我们可以这样做:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_connectionURL);
request.ContentType = "application/x-www-form-urlencoded";
request.Headers.Add // THIS METHOD DOESN'T EXIST in windows phone 7
request.Method = "POST";
Run Code Online (Sandbox Code Playgroud)
它有这个方法,它允许你设置可用的标题,但我想要的标题不包括在那里,我如何添加另一个标题到WebHeaderCollection.
request.Headers.AllKeys.SetValue //this function to set the available headers.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用.post将一些数据传递给PHP文件,但是在这个过程的某个地方,我传递的字符串的值丢失了,我收到的是NULL.
这是脚本:
<script type="text/javascript">
$("select").change(function () {
var tmp = "";
$("select option:selected").each(function () {
tmp = $(this).text();
});
$(".title").text(tmp);
$.ajax({
url:"php/description.php",
type:"POST",
data: { major:tmp },
success: function(result) {
alert(result);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我正在测试它的简单PHP文件.
<?php
$major = empty($_POST['tmp']);
echo $major;
?>
Run Code Online (Sandbox Code Playgroud)
当用户单击选择列表中的新选项/项时,将调用它.脚本的顶部正常工作(只需获取他们点击的内容的值并将其放在页面上的某个位置),但post方法不起作用.它警告NULL.我找不到问题.
我正在尝试对外部服务执行Rails POST请求,看起来大致如下:
def self.send_post_request(domain, data)
uri = URI.parse(domain)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(data)
http.use_ssl = true if domain =~ /^https/
response = http.request(request)
end
Run Code Online (Sandbox Code Playgroud)
它在本地工作正常,但一旦我部署到heroku,我收到此错误:
SocketError: getaddrinfo: Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何想法?
非常感谢您的帮助!!
编辑:这些是我在相应模型中包含的库:
require "net/http"
require "net/https"
require "uri"
Run Code Online (Sandbox Code Playgroud)
这是实际错误后控制台向我抛出的内容:
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `initialize'
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `open'
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `block in connect'
from /usr/local/lib/ruby/1.9.1/timeout.rb:44:in `timeout'
from /usr/local/lib/ruby/1.9.1/timeout.rb:89:in `timeout'
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `connect'
from /usr/local/lib/ruby/1.9.1/net/http.rb:637:in `do_start'
from /usr/local/lib/ruby/1.9.1/net/http.rb:626:in `start'
from /usr/local/lib/ruby/1.9.1/net/http.rb:1168:in `request'
from /app/app/models/message.rb:224:in `send_post_request'
from /app/app/models/message.rb:46:in `opt_in_text' …Run Code Online (Sandbox Code Playgroud) 基本上,我想在html中创建一个简单的表单,我想输出所有用户输入一旦点击提交使用PHP.到目前为止它只是显示我输入的细节,但它没有得到用户的数据来回应它们.这是我的两个文件
output.php:
<?php
echo 'Name: '.$POST["name"].'<br /> Gender: '.$POST["gender"].'<br />Country: '.$POST["country"];
?>
Run Code Online (Sandbox Code Playgroud)
testingformphp.html(表单部分):
<form id="form" name="form" method="post" action="./PHP/output.php"/>
Name<input name="name" type="text" id="name"/><br/>
Gender<label><input type="radio" name="gender" id="gender_0" value="male"/>Male</label><br/>
<label><input type="radio" name="gender" id="gender_1" value="female"/>Female</label><br/>
<select name="country" id="select">
<optgroup title="europe">
<option value="Russia">Russia</option>
<option value="Greece">Greece</option>
</optgroup>
</select>
<input type="submit" id="button" value="Submit"/>
<input type="reset" id="reset" value="Reset"/>
</form>
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
我有一些有时可以工作的异步代码,有时却没有.使用此代码,始终会创建文件,但有时它是空的(我总是发送包含内容的文件):
[HttpPost]
[Route("api/inventory/sendxml/{userId}/{pwd}/{filename}")]
public async void SendInventoryXML(String userId, String pwd, String fileName)
{
Task task = Request.Content.ReadAsStreamAsync().ContinueWith(t =>
{
var stream = t.Result;
using (FileStream fileStream = File.Create(String.Format(@"C:\HDP\{0}.xml", fileName), (int)stream.Length))
{
byte[] bytesInStream = new byte[stream.Length];
stream.Read(bytesInStream, 0, (int)bytesInStream.Length);
fileStream.Write(bytesInStream, 0, bytesInStream.Length);
}
});
}
Run Code Online (Sandbox Code Playgroud)
那么,我是否应该取消同步这个随机工作的代码,如果是的话,如何(如果没有不同步的变幻无常的事情(假设是导致这种随机行为的问题)将会完成同样的事情)?