Direktlink Bildersuche (Kontextmenü im Windows Explorer)
Hallo,
die Anfrage gab es schon mal.
Direktlink ...
Leider funktioniert das Script für die Yandex-Bildersuche nicht mehr.
Es findet keine Bilder mehr.
"There are no results for your search."
Hat sich etwas für die Abfrage bei Yandex geändert?
Der liebe colinardo hatte sich damals erfolgreich der Sache angenommen.
Grüße
Peter
die Anfrage gab es schon mal.
Direktlink ...
Leider funktioniert das Script für die Yandex-Bildersuche nicht mehr.
Es findet keine Bilder mehr.
"There are no results for your search."
Hat sich etwas für die Abfrage bei Yandex geändert?
Der liebe colinardo hatte sich damals erfolgreich der Sache angenommen.
Grüße
Peter
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator colinardo am 21.07.2022 um 11:19:16 Uhr
Beitrag wegen Beschwerde von Yandex geschlossen => Papierkorb
Content-ID: 3371824833
Url: https://administrator.de/forum/direktlink-bildersuche-kontextmenue-im-windows-explorer-3371824833.html
Ausgedruckt am: 20.04.2025 um 21:04 Uhr
6 Kommentare
Neuester Kommentar
Da isser wieder der Peter
.
Jepp, so ziemlich alles ... Ist sogar etwas simpler geworden:
Grüße Uwe
Jepp, so ziemlich alles ... Ist sogar etwas simpler geworden:
function Get-YandexImageSearchResult([string][ValidateScript({Test-Path $_})]$path){
try{
$result = Invoke-RestMethod '[ZENSIERT]' -Method Post -ContentType "image/$([io.path]::GetExtension($path).substring(1))" -Body ([io.file]::ReadAllBytes($path))
return [ZENSIERT]
}catch{
Write-Error $_.Exception.Message
}
}
$dlg = New-Object System.Windows.Forms.OpenFileDialog
$dlg.Multiselect = $false
$dlg.Title = "Bitte ein Bild für den Upload auswählen:"
if($dlg.ShowDialog() -eq 'OK'){
$url = Get-YandexImageSearchResult -path $dlg.FileName
if ($url){
start $url
}
}
Immer gerne.
. Reicht ja statt dem Dialog ein "param()" mit Parameter im Skriptheader einzubauen und als Dateinamen zu übergeben.
Grüße Uwe
Zitat von @PeterleB:
Muß aber noch etwas dran basteln.
Das Bild soll ja per Rechtsklick im Windows-Explorer übergeben werden.
Das bekomme ich jedoch mithilfe des alten Codes bestimmt hin.
Das will ich wohl meinen, bist ja hier nicht erst seit gestern Mitglied Muß aber noch etwas dran basteln.
Das Bild soll ja per Rechtsklick im Windows-Explorer übergeben werden.
Das bekomme ich jedoch mithilfe des alten Codes bestimmt hin.
Grüße Uwe
Schade, wenn man sich noch nicht mal mehr die Zeit nimmt und die Doku zum Befehl Invoke-RestMethod nachzuschlagen wie man dort einen Proxy mit den Parametern -Proxy und -ProxyCredential verwendet
.
I'm outa here.
Grüße Uwe
#edit# Da Beschwerde von Yandex erhalten, Post geschlossen, zensiert und in Papierkorb verschoben!
param(
[string]$file
)
Add-Type -A System.Windows.Forms
Add-Type -A System.Drawing
function Get-YandexImageSearchResult([string][ValidateScript({Test-Path $_})]$path){
try{
# create request parameters
$options = @{
Uri = '[ZENSIERT]'
Method = 'Post'
ContentType = "image/$([io.path]::GetExtension($path).substring(1))"
Body = [io.file]::ReadAllBytes($path)
}
# add proxy options to parameter object if enabled
if((Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable) -eq 1) {
$options.Proxy = "http://xxx.xx.xxx.xxx:80"
$options.ProxyCredential = new-Object PSCredential('username',(ConvertTo-SecureString 'Password' -AsPlainText -Force))
}
# invoke request
$result = Invoke-RestMethod @Options
return "[ZENSIERT]"
}catch{
Write-Error $_.Exception.Message
}
}
function ShowForm(){
$form1 = New-Object System.Windows.Forms.Form
$lblStatus = New-Object System.Windows.Forms.Label
$form1.ClientSize = [System.Drawing.Size]::new(292,62)
$form1.ControlBox = $False
$form1.StartPosition = 1
$form1.FormBorderStyle = 5
$form1.Name = "form1"
$form1.Text = "Uploading ..."
$form1.add_Shown({
$form1.Update()
$url = Get-YandexImageSearchResult $file
if ($url){
start $url
}
$form1.Close()
})
$lblStatus.Dock = 5
$lblStatus.Font = New-Object System.Drawing.Font("Arial",13,1,3,0)
$lblStatus.Location = [System.Drawing.Point]::new(0,0)
$lblStatus.Name = "lblStatus"
$lblStatus.Size = [System.Drawing.Size]::new(292,62)
$lblStatus.Visible = $true
$lblStatus.Text = "Datei-Upload, bitte warten."
$lblStatus.TextAlign = [System.Drawing.ContentAlignment]::MiddleCenter
$form1.Controls.Add($lblStatus)
$form1.ShowDialog() | out-null
}
ShowForm
Grüße Uwe
#edit# Da Beschwerde von Yandex erhalten, Post geschlossen, zensiert und in Papierkorb verschoben!