首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查密码保护的web文件是否存在。

检查密码保护的web文件是否存在。
EN

Stack Overflow用户
提问于 2016-10-24 15:06:13
回答 1查看 65关注 0票数 0

我需要检查一下是否有一个受密码保护的web文件存在于目录中。

我一直得到一个(401) Unauthorized错误,所以,第5-6行不工作.

脚本代码:

代码语言:javascript
复制
$currdate = Get-Date -format "yyyyMMdd"
$Username = "username"
$Password = "password"
$url = "http://some.website/" + $currdate + "/somedirectory/some.file.txt"
$WebClient = New-Object System.Net.WebClient
$WebClient.Credentials = New-Object System.Net.Networkcredential($Username, $Password)
$HTTP_Request = [System.Net.WebRequest]::Create($url)
$HTTP_Response = $HTTP_Request.GetResponse()
$HTTP_Status = [int]$HTTP_Response.StatusCode
If ($HTTP_Status -eq 200) { 
    Write-Host "File exists!" 
}
Else {
    Write-Host "File does not exist..."
}
$HTTP_Response.Close()

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-25 00:40:55

您使用两个对象WebClient和WebRequest,只需要一个。

您将凭据设置为WebClient,但在没有凭据的情况下通过WebRequest进行响应。

将代码修改为:

代码语言:javascript
复制
    $currdate = Get-Date -format "yyyyMMdd"
    $Username = "xxxxx"
    $Password = "xxxxxx"
    $url = "http://some.website/" + $currdate + "/somedirectory/some.file.txt"      

    # comment these lines,you use WebRequest
    #$WebClient = New-Object System.Net.WebClient
    #$WebClient.Credentials = New-Object System.Net.Networkcredential($Username, $Password)

    $HTTP_Request = [System.Net.WebRequest]::Create($url)

    #add this line
    $HTTP_Request.Credentials = new-object system.net.networkcredential($Username, $Password)

    $HTTP_Response = $HTTP_Request.GetResponse()
    $HTTP_Status = [int]$HTTP_Response.StatusCode
    If ($HTTP_Status -eq 200) { 
        Write-Host "File exists!" 
    }
    Else {
        Write-Host "File does not exist..."
    }
    $HTTP_Response.Close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40221674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档