손질하는 방법 식진에서 와일드카드 스크립트를 사용해야 할까요?

0

질문

스크립트가 있는 구문 분석합니다. 는 경우 쿼리에는 사용자와 비밀번호,그것을 검색이다.

그러므로 저는 유지 PHP 경우 쿼리를 필요합니다.


      Add-Type -AssemblyName System.Web
    
    $url = "http://toto.site:8080/user/password12349876toolong/2716?checkedby:toto.net"
    
    
    $uri = [System.Uri]$url
    $query = $uri.Query
    $IPTVhost = $uri.Host
    $IPTVport = $uri.Port
    $Segments = $uri.Segments.TrimEnd('/')
    $proto = $uri.Scheme
    
    $ParsedQueryString = [System.Web.HttpUtility]::ParseQueryString($uri.Query)
    
    if(!$query) {
    
    if ($Segments[1].TrimEnd('/') -eq "live"){
    
    
    $username = $Segments[2].TrimEnd('/')
    
    $password = $Segments[3].TrimEnd('/')
    }
    else
    {
    
    $username = $Segments[1].TrimEnd('/')
    $password = $Segments[2].TrimEnd('/')
    }
    }
    
    
    else {
    $username = $ParsedQueryString['username']
    $password = $ParsedQueryString['password']
    }
    cls
    if (!($url -like '\?checkedby\:'))
    {
    echo "this is a chekedby url"
    $filter = $url.TrimEnd("\?checkedby\:toto.net")
    echo "filter : $filter"
    }
    echo "url: $url"
    echo "query: $query"
    echo "host: $IPTVhost"
    echo "port: $IPTVport"
    echo "segment: $Segments"
    echo "proto: $proto"
    echo "username: $username"
    echo "password: $password"

하고 싶 필터의 문자를 입력할 경우 URL 에서 스크립트가(종종에서 찾을 쿼리는 항상은 아니지만). 나는 그것을 알고 시작 "? Checkedby:""& checkedby:" 고 항상의 끝에서 url 이 있습니다.

문제:체인은 변수가 될 수 있습니다:

http://toto.com:8080/get.php?username=toto&password=toto&checkedby:titi.com

http://toto.com/1234/4321/5678?checkedby:anyone.xyz

http://toto.com/1234/4321/5678?master.m3u8&checkedby:anyelse.to

또는 이 쓰레기:

http://toto.com:8080/get.php?username=toto&password=toto&type=output.ext?checkedby:titi.com

가 여러 가지 방법으로 TrimEnd 지만 아무것도 할 수 없습니다. 같은 조건에 동의하는 것입니다 정확한 표현과 같:

$filter = $url.TrimEnd("\?checkedby\:toto.net")

하지만 일하지 않는(그리고 그의 정상적인)으로 끝나는 url 을:

&checkedby:another.com.

그래서 질문:

는 방법을 제거하는 모든 것을 시작으로:

&checkedby:

?checkedby:

감사합니다.

powershell
2021-11-24 02:06:37
1

최고의 응답

2

건물에 산티아고 Squarzon 아이 도움이 되는 설명:

사용 regex기반 작업을 통해 -replace 운영자:

'http://toto.com:8080/get.php?username=toto&password=toto&checkedby:titi.com',
'http://toto.com/1234/4321/5678?checkedby:anyone.xyz',
'http://toto.com/1234/4321/5678?master.m3u8&checkedby:anyelse.to',
'http://toto.com:8080/get.php?username=toto&password=toto&type=output.ext?checkedby:titi.com' |
  ForEach-Object { $_ -replace '[?&]checkedby:.+' }

에 대한 설명 regex 및 옵션을 실험을 참조하십시오 이 regex101.com 페이지.

2021-11-24 03:00:59

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................