我试图将档案文件(如果有关的话是Zip档案)上传到外部网站的现有 API, 虽然我可以让网络客户连接并获得上传从未起作用的网站的标记, 我却不断得到404个错误。 问题可能是在他们身上, 但我似乎是唯一一个在他们网站上张贴档案文件的人, 但是我不知道我是否正确使用上传文件, 或者有没有办法从命令中捕捉到回应, 我想知道是否只是为了改进我的 PowerShell 编码。
我竞选的情况如下:
# Variables I want to use
$appArchive = "\networkpathReleasesCodeReleasePackage.zip"
$localArchive = "c: empCodeReleasePackage.zip"
[string]$appUrl = "https://site.com/api/v1/apps/(id)/"
[string]$tokenUrl = "https://site.com/token"
[string]$uploadUrl = "https://site.com/api/v1/apps/(id)/?auth_token=$mytoken"
# $appCred = Get-Credential
$username = "email@address"
$password = "password"
# Create the web client
"Creating the client.`n"
$pgup = new-object System.Net.WebClient
$pgup.Credentials = New-Object net.NetworkCredential($username,$password)
"Going to the token page"
$pgToken = $pgup.UploadString($tokenUrl,"")
$mytoken = $pgToken -replace {|}|"|:|token ,
"Now trying to upload the latest file with my token: $mytoken"
$pgup.UploadFile($uploadUrl,$appArchive)
我得到的牌子是 {"token",hkjuihgkjhiuhhlkhuhhkhuk}, 并且不知道是否有更好的方法可以处理所产生的牌子。 我做了替换来除掉符号字符串之外的所有牌子。 添加到 URL 应该是有效的, 但我只是得到了404个错误 。
所以当我运行 $pgup. UploadFile () 时, 我希望能够从网站上捕捉到响应。 上加文件 () 但是当我这样做时, 似乎没有任何东西会回来, 有没有特别的方法可以捕捉到呢? 我找不到一个清晰的例子, 当我做一些类似 $response = $pgup. UploadFile () 的东西时, 我没有任何答案。 任何有助于诊断网络客户错误的东西都会很好, 我想了解更多关于这个的信息, 因为它看起来非常有用 。