微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试使用 ActiveX 组件在 VB 中重新编写 Pearl LWP 代码

如何解决尝试使用 ActiveX 组件在 VB 中重新编写 Pearl LWP 代码

有人熟悉 Chilkat ActiveX HTTP component 或 Pearl LWP 吗?我正在尝试重现我们目前在 Pearl 中使用的一些代码。我要做的是登录互联网设备并读取日志文件

登录需要 cookie。在普通的网络浏览器中,我可以只使用 http://test.com:3800/login.tgi?Username=BOB&Password=12345。然后,一旦登录 cookie 存储在浏览器中,我就可以导航到日志文件页面

工作珍珠代码

function members_only() {
  $cookie_name = 'cookie_name';
  $error_url = home_url($path = '/403-error/');
  global $pageNow;
    $array_cookie_value = json_decode( stripslashes($_COOKIE[$cookie_name]),true);
    $woo_user_id = $array_cookie_value['user_id'];
    $user_Meta = get_user_Meta($woo_user_id);
    $user_order_status = $user_Meta['doris_shop_enabled'][0];
  if ( is_admin() || is_front_page() || $pageNow == 'wp-login.PHP' || is_page('403-error') ) { 
    echo('Do nothing');
  } elseif ( !isset($_COOKIE[$cookie_name]) || (isset($_COOKIE[$cookie_name]) && $user_order_status === 0) ) {
    wp_safe_redirect( $error_url );
    exit; 
  } else {
    echo("Very limited.");
  }
}

add_action( 'wp','members_only' );

我使用 ActiveX 组件在 VB 中快速完成了这些,但我什至没有成功登录

$unique = array_map("unserialize",array_unique(array_map("serialize",$data)));
echo "<pre>";
print_r($unique);
echo "</pre>";

Auth 正在返回

my $Authenticate = "http://test.com:3800/login.tgi?Username=BOB&Password=12345";
my $Action = "http://test.com:3800/log”;

use strict qw/refs/;
use HTTP::Cookies;
use LWP::UserAgent;
use HTTP::Request::Common qw/POST GET/;


my $browser = LWP::UserAgent->new(
cookie_jar            => HTTP::Cookies->new,requests_redirectable => [],timeout               => 10,pragma                => "no-cache",max-age               => 0,agent                 => "Mozilla/5.0 (Windows NT 5.1;  rv:11.0) Gecko/20100101 Firefox/11.0"
);

my $Page = $browser->request(GET $Authenticate);
if ($Page->is_success) { my $Page = $browser->request(GET $Action); }
else { print $ErrorPage; die; }

如果我用另一个 URL 代替登录 URL,或者省略登录凭据(所以它只是)http://test.com:3800 Auth 为我提供了该网页的正确 HTML。

谁能看到 2 个代码片段之间的任何不同之处,或者想出我可能遇到此问题的原因?

解决方法

我找到了 this 并且效果很好

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。