标签: http-post

在电报机器人上访问api方法时出错404

我刚刚创建了一个电报机器人来完成学校关于ifttt和电报整合的任务.

我的问题是尝试浏览器使用Telegram api的方法,它返回给我以下字符串:{"ok":false,"error_code":404,"description":"Not Found"}

我使用此链接尝试访问我的机器人:https: //api.telegram.org/botToken/getUpdates

机器人的令牌有效

你可以帮你解决问题吗?

http http-post telegram telegram-bot ifttt

15
推荐指数
2
解决办法
1万
查看次数

使用HttpWebRequest使用multipart/form-data POST数据/上传图像

我正在尝试使用ImageShack API上传图像.要使用它,我应该POST使用图像multipart/form-data.我这样做...

var postData = "";
var req = HttpWebRequest.Create("http://www.imageshack.us/upload_api.php");
req.Method = "POST";
req.ContentType = "multipart/form-data";
postData += "key=my_key_here&";
postData += "type=base64&";

// get base64 data from image
byte[] bytes = File.ReadAllBytes(@"D:\tmp\WpfApplication1\WpfApplication1\Images\Icon128.gif");
string encoded = Convert.ToBase64String(bytes);
postData += "fileupload=" + encoded;

byte[] reqData = Encoding.UTF8.GetBytes(postData);
using (Stream dataStream = req.GetRequestStream())
{
    dataStream.Write(reqData, 0, reqData.Length);
}

var res = (HttpWebResponse)req.GetResponse();
var resStream = res.GetResponseStream();
var reader = new StreamReader(resStream);
string resString = reader.ReadToEnd();
txt1.Text = resString;
Run Code Online (Sandbox Code Playgroud)

但ImageShack抱怨说 …

c# http-post httpwebrequest

14
推荐指数
2
解决办法
5万
查看次数

如何使用libcurl发布JSON缓冲区?

我的C++程序当前通过pipe(popen("curl ..."))调用curl 将JSON数据文件POST到Web服务器.由于需要将JSON保存到文件并在子shell中调用curl,因此这具有明显的性能限制.我想重写它以使用libcurl,但我不清楚如何做到这一点.我传递给的命令行popen()是:

curl -s -S -D /dev/null -H "Content-Type: application/json" -X POST -d file-of-json http://server/handler.php
Run Code Online (Sandbox Code Playgroud)

在我需要发布之前,JSON数据(大约3K)位于RAM中的缓冲区中.我期望使用libcurl的CURLOPT_READFUNCTION将缓冲区假脱机到libcurl(但我对其他选项开放),并使用CURLOPT_WRITEFUNCTION来捕获服务器的回复,类似于我从popen的管道读取回复的方式.

所有这一切似乎都很简单.令人困惑的是我需要CURLOPT_POST,CURLOPT_HTTPPOST,CURLOPT_POSTFIELDS,CURLOPT_HTTPHEADER的哪种组合.我已经阅读了很多关于这个主题的帖子(没有双关语),没有一个与我的场景完全匹配.有什么建议?

[请注意,我通常没有任何URL编码的表单字段,如下所示:http://server/handler.php?I = do¬ = use&these = in&my = query]

post json http http-post libcurl

14
推荐指数
3
解决办法
4万
查看次数

如何使用WCF自托管处理Ajax JQUERY POST请求

创建RESTful WCF服务器有很多原因(很容易),如果你可以避免ASP及其安全框(如果你所做的只是返回信息的简单请求),那就更好了.请参阅:http://msdn.microsoft.com/en-us/library/ms750530.aspx了解如何执行此操作.

我发现处理AJAX(JQUERY)GET请求很容易.但是在POST中处理JSON很棘手.

以下是一个简单的GET请求合同的示例:

    [OperationContract]
    [WebGet(ResponseFormat = WebMessageFormat.Json)]
    String Version();
Run Code Online (Sandbox Code Playgroud)

实现就在这里(返回一个JSON)

    public partial class CatalogService : ICatalogService
{
    public String Version()
    {
        mon.IsActive = true;
        this.BypassCrossDomain();
        ViewModel.myself.TransactionCount++;
        return ViewModel.myself.VersionString;
    }
}
Run Code Online (Sandbox Code Playgroud)

啊,但如果你想发布一些JSON怎么办?你会发现很多关于堆栈溢出的文章告诉你所要做的就是:

    [OperationContract]
    [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    BuildResponse BuildToby(BuildRequest request);
Run Code Online (Sandbox Code Playgroud)

它将接收JSON消息,反序列化为Plain .NET对象(PO​​NO)并让您使用它.事实上,当我在Fiddler中构建请求时,这工作正常.

POST /BuildToby HTTP/1.1
User-Agent: Fiddler
Content-Type: application/json
Host: localhost:4326
Content-Length: 1999
Run Code Online (Sandbox Code Playgroud)

但是,当您在JQUERY 1.8中使用以下AJAX时,您会发现一个SURPRISE:

通过指定"application/json"的内容类型,您会发现有一个"预检"检查由浏览器触发,以查看您是否可以发布除了www-url-encloded post消息之外的其他内容.(堆栈中有关于此溢出的注释).

    var request = JSON.stringify({ FrameList: ExportData.buildList });
    var jqxhr = $.ajax({
    type: …
Run Code Online (Sandbox Code Playgroud)

wcf jquery http-post wcf-data-services

14
推荐指数
1
解决办法
1万
查看次数

改造:如何使用常量字段发送POST请求?

我想发送一个带有一个实际参数的简单POST请求:

@POST("/token")
@FormUrlEncoded
void extendSession(@Field("refresh_token")final String refreshToken);
Run Code Online (Sandbox Code Playgroud)

但这一要求也应该发送服务器,例如要求一些常数值client_id,client_secretgrant_type这是不变的,不应该是应用程序API的一部分.

做这个的最好方式是什么?

java android http http-post retrofit

14
推荐指数
1
解决办法
8416
查看次数

如何在Slim中访问POST请求的JSON请求主体?

我只是Slim框架中的新手.我使用Slim框架编写了一个API.

POST应用程序将从iPhone应用程序发送到此API.此POST请求采用JSON格式.

但我无法访问iPhone请求中发送的POST参数.当我尝试打印POST参数的值时,每个参数都得到"null".

$allPostVars = $application->request->post(); //Always I get null
Run Code Online (Sandbox Code Playgroud)

然后我尝试获取即将到来的请求的主体,将主体转换为JSON格式并将其作为对iPhone的响应发回.然后我得到了参数的值,但它们的格式非常奇怪,如下所示:

"{\"password\":\"admin123\",\"login\":\"admin@gmail.com\",\"device_type\":\"iphone\",\"device_token\":\"785903860i5y1243i5\"}"
Run Code Online (Sandbox Code Playgroud)

所以有一件事是肯定的,POST请求参数将来到这个API文件.虽然它们无法进入$application->request->post(),但它们正在进入请求体内.

我的第一个问题是如何从请求主体访问这些POST参数,我的第二个问题是为什么请求数据在将请求主体转换为JSON格式后显示为如上所述的奇怪格式?

以下是必要的代码段:

<?php

    require 'Slim/Slim.php';    

    \Slim\Slim::registerAutoloader();

    //Instantiate Slim class in order to get a reference for the object.
    $application = new \Slim\Slim();

    $body = $application->request->getBody();
    header("Content-Type: application/json");//setting header before sending the JSON response back to the iPhone
    echo json_encode($new_body);// Converting the request body into JSON format and sending it as a response back to the iPhone. After execution of this step I'm getting the above …
Run Code Online (Sandbox Code Playgroud)

php post json http-post slim

14
推荐指数
2
解决办法
5万
查看次数

POST请求失败(确认测试)

我有放心的POST请求的问题.

此代码有效:

given().contentType(ContentType.JSON).body("{\"key\": \"val\"}").    
        when().post(url + resource).then().assertThat().statusCode(200).body("otherVal", equalTo(otherVal)); 
Run Code Online (Sandbox Code Playgroud)

但我试图使用param()parameter()类似的方法:

这个给出:

given().parameter("key", "val").                                      
        when().post(url + resource).then().assertThat().statusCode(200);  
Run Code Online (Sandbox Code Playgroud)

Expected status code <200> doesn't match actual status code <415>.

这个:

    given().parameter("key", "val").                                                         
            when().post(url + resource).then().assertThat().body("otherVal", equalTo(otherVal));  
Run Code Online (Sandbox Code Playgroud)

java.lang.IllegalStateException: Expected response body to be verified as JSON, HTML or XML but no content-type was defined in the response. Try registering a default parser using: RestAssured.defaultParser(<parser type>);

还有这个:

RestAssured.defaultParser = Parser.JSON;                                                   
given().parameter("key", "val").                                                       
        when().post(url + resource).then().assertThat().body("otherVal", equalTo(otherVal));
Run Code Online (Sandbox Code Playgroud)

java.lang.IllegalArgumentException: The JSON input text should …

java json http-post rest-assured

14
推荐指数
1
解决办法
2万
查看次数

从 bash 脚本发送 POST 请求

我想bash在发出POST请求后执行一个脚本。到目前为止,我正在使用它Postman来发送请求,但我想知道是否可以从bash脚本以及将json文件作为参数以某种方式执行此操作。

curl到目前为止,我已经研究过,但它不起作用:

bash文件

curl -X POST -d req.json http://localhost:9500
Run Code Online (Sandbox Code Playgroud)

JSON 文件 ( req.json)

{
    "id":5,
    "name":"Dan",
    "age":33,
    "cnp":33,
    "children":100,
    "isMarried":0
}
Run Code Online (Sandbox Code Playgroud)

我只是收到错误:

HTTP/1.0 503 Service Unavailable
Run Code Online (Sandbox Code Playgroud)

与尾随 HTML

bash json http-post

14
推荐指数
1
解决办法
3万
查看次数

我应该如何为SAML WebSSO配置文件实现HTTP POST协议绑定?

我已经使用HTTP POST协议绑定在Web SSO的SAML配置文件之后实现了我的服务提供者和识别提供者.但是,<AuthnStatement>如果来自服务提供商的HTTP POST与身份提供商上的会话无关,身份提供商将如何提供,我感到有点困惑.

有人可以告诉我怎么能做到这一点?

我可以使用的另一种方法是HTTP重定向绑定,但这需要用户代理干预(即浏览器),通常使用User-Agent作为pass-thru中介来促进请求 - 响应消息交换.因此,我宁愿使用HTTP POST,因为消息交换发生在服务器端,因此用户看不到屏幕上发生任何事情.

但是,对于我如何能够将会话与请求联系起来,使用HTTP重定向更有意义.由于通过用户代理促进了HTTP重定向,因此对IdP的请求将具有会话(如果先前已经过身份验证).我没有得到的是如何发送<AuthnRequest>HTTP重定向. 由JST回答

所以我有点困惑,很想听听其他人在做什么.以下是我的问题:

  1. 使用HTTP POST协议绑定IsPassive选项<AuthnRequest>,如何将服务提供者的请求绑定到身份提供者的会话?换句话说,如果POST来自服务提供商(在技术上是匿名会话),身份提供商如何知道谁在提出请求?
  2. 使用HTTP重定向协议绑定,<AuthnRequest>如果我使用HTTP重定向,如何发送到身份提供程序? 由JST回答

UPDATE

如果我在上面的解释中不清楚,请注意混淆.我正在实现IdP和SP(通过插件).IdP是一个现有的应用程序,我希望SP(第三方系统)用于身份验证(即Web SSO).我正在开发一个简单的PoC.SP实际上是第三方Spring应用程序,我正在开发一个插件来执行SAML操作.

我应该提到我正在尝试使用该IsPassive选项,这意味着用户代理在消息交换期间不起作用.它只是启动SAML派对的催化剂.对?考虑到这一点,假设用户在步骤1中是匿名的,那么SP向IdP发送了什么以允许IdP确定用户是否已经过身份验证?由于IsPassive,HTTP POST不会通过User-Agent发送


UPDATE

问题1修订:如何IdP进行解析委托时,AuthnRequset与发送IsPassive的选项?

直接从SAML 2.0配置文件,第15页,第417到419行:

在步骤4中,通过在此配置文件范围之外的某些方式提供的标识来标识主体.

我真正想要的是解释如何实施some means.

redirect http-post saml post-redirect-get

13
推荐指数
1
解决办法
3万
查看次数

如何在Python中发送和接收HTTP POST请求

我需要一个简单的客户端方法,它可以在HTTP POST请求中发送布尔值,以及一个侦听的服务器端函数,并且可以将POST内容保存为var.

我无法找到有关如何使用的信息httplib.

请给我一个简单的例子,使用localhost作为http连接.

python http http-post httplib

13
推荐指数
1
解决办法
3万
查看次数