Привет Epic! Я также изменил это, но он работает только с id = 1 или id = 2 и т.д. Идея та же, с этим сценарием, если я смогу привести сайты моей страны. Но это должно работать так, как вы это сделали в первую очередь. Я не знаю, какая разница существует, но эта страна получает данные из моей страны.
ON *:TEXT:!newsany*:#: {
if ($2 == $null) { .msg $chan The correct type is !newsany | return }
sockget http://any_web_site_com= $+ $2 $nick $chan
}
alias sockget {
if (!$1-) { echo -ag ERROR: Enter the URL Page correctly! | return }
var %s = sockget_ $+ $rand(1,100000) $+ _ $+ $ticks
if ($sock(%s)) { sockclose %s }
var %site = $1
var %get_host = $chr(47) $+ $gettok(%site,3-,47)
var %host = $gettok(%site,2,47)
if ($right(%site,1) == $chr(47)) && ($right(%get_host,1) !== $chr(47)) { var %get_host = %get_host $+ $chr(47) }
if (*https* iswm %site) { sockopen -e %s %host 443 }
else { sockopen %s %host 80 }
sockmark %s %get_host $iif($2-,$2-)
}
ON *:SOCKOPEN:sockget_*: {
if ($sockerr) { echo -ag ERROR: SOCKOPEN -> $sock($sockname).wserr -> $sock($sockname).wsmsg | return }
sockwrite -nt $sockname GET $gettok($sock($sockname).mark,1,32) HTTP/1.0
sockwrite -n $sockname Host: $sock($sockname).addr
sockwrite -n $sockname User-Agent: */*
sockwrite -n $sockname Connection: Close
sockwrite -nt $sockname $crlf
}
ON *:SOCKREAD:sockget_*: {
if ($sockerr) { echo -ag ERROR: SOCKREAD -> $sock($sockname).wserr -> $sock($sockname).wsmsg | return }
var %read
sockread %read
if ($sockbr) {
; echo -ag DATA: $left(%read,4096)
if (<p> isin %read) && (</p> isin %read) {
.msg $gettok($sock($sockname).mark,3,32) [ $+ $gettok($sock($sockname).mark,2,32) $+ ]: $iif($remove(%read,<p>,</p>),$v1,Not any results founded)
}
}
}
ON *:SOCKCLOSE:sockget_*: { ;echo -ag CLOSED: $sock($sockname).addr SOCKET CONNNECTION! }
