CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Jun 2014
    Posts
    1

    Question POST WebRequest vb.net to PHP

    i have a problem when using webrequest to pass to php

    so i need to pass a parameter to php look like this

    this is in php

    Code:
    public function get_token()
    {
    $client = new \GuzzleHttp\Client;
    
    $requestdata = [
    [
    "name"=>'grant_type',
    "contents" => 'client_credentials'
    ],
    [
    "name"=>'client_id',
    "contents" => 'testclient'
    ],
    [
    "name"=>'client_secret',
    "contents" => 'abcdefghijklmnopqrstuvwxyz12341234567890'
    ]
    ];
    
    $response = $client->request('POST','http://abc123.local/authorizations', [
    'multipart' => $requestdata
    ]);
    
    $data = $response->getBody()->getContents();
    $data = json_decode($data, TRUE);
    
    $token = $data['token_type'].' '.$data['access_token'];
    
    return $token;
    }
    and this is my code in vb.net

    Code:
    Sub token()
    
    Dim grand_type As String = "client_credentials"
    Dim client_id As String = "testclient"
    Dim client_secret As String = "abcdefghijklmnopqrstuvwxyz12341234567890"
    Dim strHeaders As String
    Dim urlAuth As String = "http://abc123.local/authorizations"
    
    strHeaders = String.Format("grant_type={0}&client_id={1}&client_secret={2}",
    grand_type, client_id, client_secret)
    
    Dim JSONEncode As String
    JSONEncode = JsonConvert.SerializeObject(strHeaders)
    
    Dim byteData As Byte() = Encoding.UTF8.GetBytes(JSONEncode )
    Dim httpReq As HttpWebRequest = TryCast(HttpWebRequest.Create(urlAuth), HttpWebRequest)
    httpReq.Method = "POST"
    httpReq.ContentType = "multipart/form-data"
    httpReq.ContentLength = byteData.Length
    
    '-=-=-=-=-=-=-=-= Sample Sending Data -=-=-=-=-=-=-=-
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
    ServicePointManager.ServerCertificateValidationCallback =
    New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptAllCertifications)
    
    Dim reqStream As Stream = httpReq.GetRequestStream()
    reqStream.Write(byteData, 0, byteData.Length)
    
    Dim request As WebRequest = WebRequest.Create(urlAuth)
    '-=-=-=-=-=-=-=-= Sample Receiving Data -=-=-=-=-=-=-=-=
    Dim resStream As Stream = httpReq.GetResponse.GetResponseStream()  
    Dim objReader As New StreamReader(resStream, Encoding.UTF8)
    Dim wr As WebResponse = httpReq.GetResponse()
    Dim receiveStream As Stream = wr.GetResponseStream()
    Dim reader As New StreamReader(receiveStream, Encoding.UTF8)
    Dim content As String = reader.ReadToEnd()
    End Sub
    
    
    Private Function AcceptAllCertifications(sender As Object, certification As System.Security.Cryptography.X509Certificates.X509Certificate,
    chain As System.Security.Cryptography.X509Certificates.X509Chain, sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
    Return True
    End Function
    i got an error for bad request, for this part:

    "Dim resStream As Stream = httpReq.GetResponse.GetResponseStream()"

    any idea? thanks

  2. #2
    Join Date
    Jul 2008
    Location
    WV
    Posts
    5,362

    Re: POST WebRequest vb.net to PHP

    I've never actually did any of this but it would seem that you may need to wait for a response. The code may very well be trying to get a response before the server is ready to send it.

    Of course as I said I have not did this so can't be sure how it works but I have seen many times people making this type of mistake with serial and TCP communications.
    Always use [code][/code] tags when posting code.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured