Skip to content

Invoke-RestMethod does not count on Content-Type field. Broken compared to PS 5.0. #2245

Closed

Description

Steps to reproduce

$ Invoke-RestMethod -Uri https://httpbin.org/robots.txt                                             

Expected behavior

Return content. Or at least behave the same as in PowerShell 5.0.

Actual behavior

Invoke-RestMethod : Unexpected character encountered while parsing value: U. Path '', line 0, position 0.
At line:1 char:1

  • Invoke-RestMethod -Uri https://httpbin.org/robots.txt
  • - CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], JsonReaderException
    - FullyQualifiedErrorId : Newtonsoft.Json.JsonReaderException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
    

Environment data

> $PSVersionTable
Name                           Value                                                                                                                                                                              
----                           -----                                                                                                                                                                              
PSVersion                      6.0.0-alpha                                                                                                                                                                        
PSEdition                      Core                                                                                                                                                                               
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                                            
BuildVersion                   3.0.0.0                                                                                                                                                                            
GitCommitId                    v6.0.0-alpha.9                                                                                                                                                                     
CLRVersion                                                                                                                                                                                                        
WSManStackVersion              3.0                                                                                                                                                                                
PSRemotingProtocolVersion      2.3                                                                                                                                                                                
SerializationVersion           1.1.0.1

powershell 6.0.0-alpha.9-1

Activity

  1. changed the title [-]Invoke-RestMethod do not rely on `Content-Type` field[/-] [+]Invoke-RestMethod do not rely on `Content-Type` field. Broken compared to PS 5.0.[/+] on Sep 13, 2016
  2. changed the title [-]Invoke-RestMethod do not rely on `Content-Type` field. Broken compared to PS 5.0.[/-] [+]Invoke-RestMethod does not count on `Content-Type` field. Broken compared to PS 5.0.[/+] on Sep 13, 2016
  3. ed-ilyin commented on Sep 22, 2016

    @ed-ilyin

    Exactrly same for me

  4. added this to the milestone on Nov 2, 2016
  5. nmbradford commented on Nov 7, 2016

    @nmbradford

    I have similar issues talking to an XML api. I've tried with -ContentType "application/xml" and with Content-Type set in the request header with same result in both cases. The exception I get is :

    invoke-restmethod : Unexpected character encountered while parsing value: v. Path '', line 0, position 0.
    At line:1 char:1
    + invoke-restmethod -method Post -headers $headerDictionary -uri $FullU ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], JsonReaderException
        + FullyQualifiedErrorId : Newtonsoft.Json.JsonReaderException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
    

    Note - Interesting that JsonReader is involved in parsing an xml response?

    PS > $psversiontable
    
    Name                           Value
    ----                           -----
    PSVersion                      6.0.0-alpha
    PSEdition                      Core
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   3.0.0.0
    GitCommitId                    v6.0.0-alpha.12-15-g92b0eb336d7af74d5e439f58ffd3a367d511c0e5
    CLRVersion
    WSManStackVersion              3.0
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1
    
  6. modified the milestones: , on Dec 19, 2016
  7. chelnak commented on Jan 6, 2017

    @chelnak

    We are seeing a similar issue (Logged here: jakkulabs/PowervRA#97).

    The response content type is text/yaml but you can clearly see it's trying to use Newtonsofts Json library.

  8. 2xmax commented on Feb 7, 2017

    @2xmax
    Contributor

    looks like it was fixed by #2862

  9. joeyaiello commented on Feb 7, 2017

    @joeyaiello
    Contributor

    Max Maximov (@2xmax): Thanks! Looks like the original issues were fixed already :)

  10. jonathanmedd commented on Feb 8, 2017

    @jonathanmedd

    Excellent - thanks Max Maximov (@2xmax) ! We have been able to close one of our issues being able to support PowerShell Core thanks to your fix: jakkulabs/PowervRA#97

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

WG-Cmdletsgeneral cmdlet issues

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions