在浏览器中,导航到此URL会启动302(暂时移动)请求,该请求又会下载文件.
http://www.targetsite.com/target.php/?event=download&task_id=123
当我通过Chrome网络工具查看实际发生的情况时,我发现重定向将转到动态生成的路径,该路径在下载后立即取消.换句话说,即使我知道完整路径,我也没有时间手动调用它.
那么,如何使用命令行我可以模仿浏览器操作?
我试过了
curl --cookies bin/cookies.txt -O -L" http://www.targetsite.com/target.php/?event=download&task_id=123 " - 压缩
但这只会带来胡言乱语.这样做的目的是以编程方式下载此文件,而无需导航到该站点.不幸的是,我不能在这里共享网站,因为它是登录后面的.
我需要查看我无法控制的特定网站的网络流量.问题是,站点在一个点触发弹出窗口,当特定上载事件完成时,弹出窗口会自动关闭.
我需要查看的HTTP请求仅在关闭时触发,即上载完成时.窗口关闭后,Dev Tools窗口也会关闭.
有没有办法强迫它保持开放?IE和Firefox怎么样?
其他非浏览器特定的工具不能提供我需要的数据.我知道Chrome会 - 如果它只挂了足够长的时间让我看到它.
我开始着手这个项目,认为这很简单.几个小时后,我意识到Google API有点迷宫,有多个API和库.我真的需要明确指示如何去做这件事.
我创建了几个Google Doc电子表格,我已授予其他用户编辑权限.
我只需要使用PHP以编程方式从这些电子表格中检索信息.但是,我无法弄清楚如何连接甚至开始检索.
这是我到目前为止所做的:
1 - 安装了Google PHP API库.
2 - 在同一帐户中创建了Google API项目.我不知道我需要哪种API以及我需要哪些oAuth密钥.
3 - 从https://github.com/asimlqt/php-google-spreadsheet-client安装Google API电子表格客户端.
好吧,现在呢?如何发送API命令以检索我想要的电子表格.我不确定如何验证以及如何检索.到目前为止,我使用API驱动程序的API服务器密钥尝试了以下....这只是一个猜测.我在Google API电子表格客户端中复制并粘贴了以下示例:
<?php
require_once 'php-google-spreadsheet-client-master\src\Google\Spreadsheet\Autoloader.php';
$accessToken = 'xxxxxxxxxxxxxxxxxxxxxxx';
$request = new Google\Spreadsheet\Request($accessToken);
$serviceRequest = new Google\Spreadsheet\DefaultServiceRequest($request);
Google\Spreadsheet\ServiceRequestFactory::setInstance($serviceRequest);
$spreadsheetService = new Google\Spreadsheet\SpreadsheetService();
$spreadsheetFeed = $spreadsheetService->getSpreadsheets();
?>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in C:\php\php-google-spreadsheet-client-master\src\Google\Spreadsheet\SpreadsheetFeed.php:43 Stack trace: #0 C:\php\php-google-spreadsheet-client-master\src\Google\Spreadsheet\SpreadsheetFeed.php(43): SimpleXMLElement->__construct('') #1 C:\php\php-google-spreadsheet-client-master\src\Google\Spreadsheet\SpreadsheetService.php(39): Google\Spreadsheet\SpreadsheetFeed->__construct(false) #2 C:\php\google_docd.php(11): Google\Spreadsheet\SpreadsheetService->getSpreadsheets() #3 {main} thrown in C:\php\php-google-spreadsheet-client-master\src\Google\Spreadsheet\SpreadsheetFeed.php on …Run Code Online (Sandbox Code Playgroud) 我正在运行自动化测试程序,可以全天候模拟击键和鼠标点击.
虽然它在本地运行良好,但在RDP会话中,它会在最小化或断开连接后停止运行.显然,如果您无法在屏幕上看到GUI,则GUI不存在.
有一个注册表解决方法可以保持GUI处于活动状态以最小化窗口,但我知道在断开连接后无法使其保持活动状态.
理想情况下,我会在服务器Windows控制台会话上运行,它不关心断开连接,但在托管环境中(我尝试过Amazon和Go Daddy),无法访问控制台会话.
有谁知道我怎么能解决这个问题?基本上任何允许我在VPS上运行我的应用程序的解决方案.我需要主机的可靠性,但运行它的灵活性就像我坐在前面一样.
因此,谷歌浏览器作为 Chrome DevTools 的“网络”下的这个很棒的“复制为 cURL”选项。在 linux 的命令行中效果很好,但在 windows 中不起作用。显然它与单引号有关,因为我得到的错误是
协议 'http 不支持
换句话说,它读取那个单引号。有没有一种简单的方法可以使 Windows 可格式化?我尝试用双引号替换所有单引号,但什么也没发生。
命令是:
curl 'http://www.test.com/login/' -H 'Cookie: PHPSESSID=7dvb25maaaaaa9d7bbbbbc3f6' -H 'Origin: http://www.test.com' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Host: www.test.com' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Referer: http://www.test.com/login/' -H 'Connection: keep-alive' --data 'loc=&login=user%40test.com&password=password&submit1=Sign+In' --compressed
Run Code Online (Sandbox Code Playgroud) 我在使用特定的cURL命令时遇到了一些麻烦,我希望看到标题和响应.在命令行中我使用-v并显示所有内容,但是......
在PHP中我试图使用:
curl_setopt($curl, CURLOPT_VERBOSE, 1);
Run Code Online (Sandbox Code Playgroud)
但是,没有显示任何内容.
我在IIS上的Windows Server 2008上使用PHP 5.3.24.
据推测,信息被发送到stderr流,我认为这意味着用于PHP错误的常规日志 - 但是也没有任何东西.对于我知道正在运行的cURL命令以及我知道不起作用的cURL命令,我没有得到任何标题结果.
我收到MySQL server has gone away错误。我不太清楚为什么会发生这种情况,但经过一些研究后,最常推荐的答案是编辑 cnf 文件以增加数据包大小和其他设置。
问题是我找不到这个文件。会在哪里呢?
我在下面找到一个my.cnf文件/etc,但它包含以下内容:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)
谢谢
Python和Scrapy的新手.我显然需要这些模块来正确运行scrapy.我按照建议下载了Zope接口,并且已按照Scrapy上的说明尝试使用easy_install进行安装.我正在运行Windows 7 64并首先下载64位版本的Pyton 2.7和所有模块,包括Zope.这不起作用,所以我取消了所有内容并下载了32位版本,但我遇到了同样的问题.很明显,我正在做一些非常基本的错误.希望得到帮助.
这就是:
C:> easy_install zope.interface-4.0.3-py2.7-win32.egg
我得到了一大堆结果(即使我正确地将其格式化为代码,stackoverflow也不允许我复制/粘贴),最后说:
No local packages or download links found for zope.interface-4.0.3-py2.7-win32.egg
Run Code Online (Sandbox Code Playgroud)
我知道我需要zope,因为当我尝试运行srapy时,我收到以下错误(还有其他结果):
C:> scrapy shell http://www.yahoo.com
raise ImportError(required + ": no module named zope.interface.")
ImportError: Twisted requires zope.interface 3.6.0 or later: no module named zope.interface.
正如我所说的那样,我是一个真正的新人,并且需要一段时间来完成所需的所有模块和软件包.
我有一个图像被eBay API拒绝,因为:
<ShortMessage>Source picture uses an unsupported colorspace.</ShortMessage>
<LongMessage>Pictures with a CMYK colorspace are not supported; source pictures must use a RGB colorspace compatible with all web browsers supported by eBay. Submit pictures created using a camera or scanner set to save images with RGB color.</LongMessage>
Run Code Online (Sandbox Code Playgroud)
好吧,我不知道这是一个CMYK,我甚至不知道怎么说.然后我使用以下代码尝试转换:
$image= "$img.jpg";
$i = new Imagick($image);
$i->setImageColorspace(Imagick::COLORSPACE_SRGB);
$i->writeImage($image);
$i->destroy();
Run Code Online (Sandbox Code Playgroud)
它转换(现在被eBay接受),但它也会反转图片的颜色.为什么会这样做,还有另一个COLORSPACE我应该使用的吗?
谢谢.
到目前为止,我只使用API从Google电子表格中检索数据,但我不确定如何插入数据.我看了一遍,但没有一个例子足够清楚.
为了检索数据,我所要做的就是构建一个URL并使用PHP中的CURL检索它,如下所示:
//Get spreadsheet data
$headers = array(
"Authorization: GoogleLogin auth=" . $auth,
"GData-Version: 3.0",
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://spreadsheets.google.com/tq?tqx=out:html&tq=select%20D%2C%20E%20where%20B%3D&key=1c1xxxxxxxxxxxxx
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1
$response= curl_exec($curl);
Run Code Online (Sandbox Code Playgroud)
,如何构建一个类似的URL来插入?我认为可以使用类似的URL.有人可以指点我正确的方向吗?我在这里找不到相关信息https://developers.google.com/chart/interactive/docs/querylanguage
我在我的日子里使用过许多API,但最近才开始与需要通过EDI订购信息的第三方合作.请原谅新手问题,因为我在线阅读了大量信息,但我仍然没有得到它.
我有几个问题:
1 - EDI有什么好处?我似乎只是将特定结构中的文本文件发送到远程位置.我一直以编程方式为非EDI文件类型执行此操作.
2 - 为什么有些供应商想要使用VAN?我不能简单地将它发送到某个地方的FTP位置吗?
3 - 关于EDI翻译软件的全部内容.这不能简单地使用多种语言进行解析吗?
4 - 我的ASI是什么?一位供应商问我,但我不确定这是否是我或其他人的唯一ID.
5 - 使用第三方提供商的任何理由?我有我的交易数据,是否难以创建EDI文件(在我的情况下是850文件类型)并将其发送到某个FTP位置?这是否过度或者他们真的提供了有用的服务.如果我需要向他们提供我的数据,我是否应该直接将其发送给供应商并跳过中间人?
总之,我只是没有得到EDI.我已经习惯了API,你会得到非常详细的文档.有了EDI,供应商告诉我,我必须提供符合我要求的文档.似乎倒退了.
感谢您的耐心等待.
希望能提供一些示例 XML。我只是想指定哪个运输模板应适用于任何给定的产品。
亚马逊支持人员将我指向https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_4_1/Override.xsd但我无法了解如何指定运输模板。
我希望有一些简单的东西可以包含在其中,_POST_PRODUCT_PRICING_DATA_例如
<shipping_template>template1</shipping_template>
但我不这么认为。
谢谢!