Sample code for 30+ languages & platforms
Visual FoxPro Requires Chilkat v11.0.0+

HTTPS PUT application/x-www-form-urlencoded

See more HTTP Examples

Demonstrates two ways of sending an HTTPS PUT application/x-www-form-urlencoded request.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL lcUrl
LOCAL loResp
LOCAL loReq

lnSuccess = 0

*  This example assumes the Chilkat API to have been previously unlocked.
*  See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat.Http')

*  The 1st example sends a PUT with the query params in the URL.
*  The body of the request will be empty.
lcUrl = "https://example.com/leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note"

*  Sends the following request:

*  PUT /leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note HTTP/1.1
*  Host: example.com
*  Accept: */*
*  Accept-Encoding: gzip
*  Content-Length: 0
*  

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpStr("PUT",lcUrl,"","","application/x-www-form-urlencoded",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loResp
    CANCEL
ENDIF

? "Response status code = " + STR(loResp.StatusCode)
? "Response body: " + loResp.BodyStr

*  -----------------------------------------------------------------------
*  Now we send the same request, but instead the query params are in the HTTP request body.

loReq = CreateObject('Chilkat.HttpRequest')
loReq.HttpVerb = "PUT"
loReq.Path = "/leads/12345678"
loReq.AddParam("uid","XXXX")
loReq.AddParam("apikey","YYYYYY")
loReq.AddParam("notes","Test_Note")

*  Sends the following request:

*  POST /leads/12345678 HTTP/1.1
*  Host: example.com
*  Content-Type: application/x-www-form-urlencoded
*  Content-Length: 38
*  
*  uid=XXXX&apikey=YYYYYY&notes=Test_Notereq.HttpVerb = "POST";
loReq.HttpVerb = "POST"
loReq.ContentType = "application/x-www-form-urlencoded"

lnSuccess = loHttp.HttpReq("https://example.com/leads/12345678",loReq,loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loResp
    RELEASE loReq
    CANCEL
ENDIF

? "Response status code = " + STR(loResp.StatusCode)
? "Response body: " + loResp.BodyStr

RELEASE loHttp
RELEASE loResp
RELEASE loReq