首页>Program>source

如何发布 order.asp中的数据 到第三方网址?

我在表单标签中有所有参数。

提交时,第三方要我添加两个值作为标题.第三方代码如下

curl https://www.instamojo.com/api/1.1/payment-requests/ \
  --header "X-Api-Key: [API_KEY]" \
  --header "X-Auth-Token: [AUTH_TOKEN]" \
  --data     
 "allow_repeated_payments=False&amount=2500&buyer_name=John+Doe&purpose=FIFA+16&redirect_url=http%3A%2F%2Fwww.example.com%2Fredirect%2F&phone=9999999999&send_email=True&webhook=http%3A%2F%2Fwww.example.com%2Fwebhook%2F&send_sms=True&email=foo%40example.com"

我正在使用asp classic.我可以用 response.AddHeader name,value吗 传递两个值 X-Api-KeyX-Auth-Token

如果不可能,那么如何在asp classic中使用curl?

最新回答
  • 2021-1-11
    1 #

    您可以使用winHttpRequest对象来做到这一点

    <%
    Dim http: Set http = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
    Dim url: url = "https://www.instamojo.com/api/1.1/payment-requests/"
    Dim data: data = "allow_repeated_payments=False&amount=2500&buyer_name=John+Doe&purpose=FIFA+16&redirect_url=http%3A%2F%2Fwww.example.com%2Fredirect%2F&phone=9999999999&send_email=True&webhook=http%3A%2F%2Fwww.example.com%2Fwebhook%2F&send_sms=True&email=foo%40example.com"
    With http
      Call .Open("POST", url, False)
      Call .SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
      Call .SetRequestHeader("X-Api-Key", "yourvalue")
      Call .SetRequestHeader("X-Auth-Token", "yourvalue")
      Call .Send(data)
    End With
    If Left(http.Status, 1) = 2 Then
      'Request succeeded with a HTTP 2xx response, do something...
    Else
      'Output error
      Call Response.Write("Server returned: " & http.Status & " " & http.StatusText)
    End If
    %>
    

    这只是一个硬编码的示例,通常您将构建 data 通过某种方法设置变量,而不是传递硬编码的字符串。

    关于 Response.AddHeader()

    Response.AddHeader() 用于经典ASP中,用于设置服务器发送响应时将HTTP标头返回给客户端的方法。

    在这种情况下,ASP页是客户端将请求发送到另一台服务器,因此在这种情况下,您将不使用 Response.AddHeader 但是, SetRequestHeader() WinHttpRequest的方法 对象。

  • performance:如何减少例如p:ajax的请求有效负载 p:dataTable分页
  • c:为什么在某些情况下scanf()需要&运算符(地址),而在其他情况下却不需要?