Forum Discussion

vardhaman1470's avatar
vardhaman1470
Copper Contributor
Feb 28, 2021

Hi I am unbale to call custom translator API getting following error [code and error attachecd]

Please Help me with python script for calling API services thank youcodeerror

  • Allen's avatar
    Allen
    Icon for Community Manager rankCommunity Manager

    vardhaman1470 

     

    Welcome to the Microsoft Tech Community, I assume there is a reason your using the http.client library rather than the 'requests' library which would make this a whole lot easier for yourself. 

     

    Anyway the error your getting is because your mis constructing the python request url. In python 3 when you create the http.client object with

    conn = http.client.HTTPSConnection("api.cognative.microsofttranslator.com")

    you do not then need to construct the full url when you make the "POST" call.

     

    I.e. you have:

    conn.request("POST", constructed_url + "&category=" +cat, content, headers)
    #where constructed url = "https://api.cognative.microsofttranslator.com/translate?api-version=3.0&to=en"
    # Note: for some reason your also setting the variable 'path' twice.
    #
    #
    # This effectively means your making a call that looks like this: http://api.cognative.microsofttranslator.com/https://api.cognative.microsofttranslator.com/translate?api-version=3.0&to=en"
    # Hence the reply your getting from the server is that directory doesnt exist formatted in HTML

     

    To make this work you should remove base_url from the constructed_url variable. i.e.

    #change
    consturcted_url = base_url + path + ToLanguage
    
    #to
    
    constructed_url = path + ToLanguage

     

    I think after that your call will work.

Resources