如何使用powershell的Invoke-Rest方法

时间:2015-09-28 23:11:07

标签: rest powershell

我想使用Invoke-Rest方法将以下curl命令转换为等效的Powershell命令。

curl -k -i -H "Content-Type: multipart/mixed" -X POST --form 'session.id=e7a29776-5783-49d7-afa0-b0e688096b5e' --form 'ajax=upload' --form 'file=@myproject.zip;type=application/zip' --form 'project=MyProject;type/plain' https://localhost:8443/manager

我根据Stack Overflow上的建议尝试了这个

Invoke-RestMethod -Method Post -ContentType 'multipart/mixed' -InFile 'C:\Temp\myprojects.zip' -Uri https://localhost:8443/manager 

但是收到以下错误

  

Invoke-RestMethod:   错误500请求被拒绝,因为没有找到多部分边界   HTTP错误500   访问/经理问题。原因:       请求被拒绝,因为没有找到多部分边界引起:org.apache.commons.fileupload.FileUploadException:请求被拒绝,因为没有找到多部分边界       在org.apache.commons.fileupload.FileUploadBase $ FileItemIteratorImpl。< init>(FileUploadBase.java:931)       在org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)       在org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349)       在org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)       at azkaban.webapp.servlet.MultipartParser.parseMultipart(MultipartParser.java:47)       at azkaban.webapp.servlet.LoginAbstractAzkabanServlet.doPost(LoginAbstractAzkabanServlet.java:216)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:727)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:820)       在org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)       在org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)       在org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)       在org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)       在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)       在org.mortbay.jetty.Server.handle(Server.java:326)       在org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)       at org.mortbay.jetty.HttpConnection $ RequestHandler.content(HttpConnection.java:945)       在org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)       在org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)       在org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)       在org.mortbay.jetty.bio.SocketConnector $ Connection.run(SocketConnector.java:228)       在org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:582)   由Jetty提供://

如何使用PowerShell正确发送zip文件?

1 个答案:

答案 0 :(得分:0)

遇到同样的问题,看起来PowerShell目前无法使用多部分数据。我发现以下内容说明了使用PowerShell中导入的.NET 4.5方法的工作

http://blog.majcica.com/2016/01/13/powershell-tips-and-tricks-multipartform-data-requests/