解决 MWS GetEligibleShippingServices 返回 SignatureDoesNotMatch

今天写 MWS 的 Merchant Fulfillment ,调用  GetEligibleShippingServices 一直出错,返回 SignatureDoesNotMatch ,奇了怪?

后来对比 MWS scratchpad 工具发现 ShipmentRequestDetails.ShipFromAddress 输入中有空格,而我的是“+” ,MWS scratchpad 是“%20”,所以 SignatureDoesNotMatch 。

我php版本是5.3.3,不能在 http_build_query 函数使用 PHP_QUERY_RFC3986

enc_type
默认使用 PHP_QUERY_RFC1738。

如果 enc_type 是 PHP_QUERY_RFC1738,则编码将会以 » RFC 1738 标准和 application/x-www-form-urlencoded 媒体类型进行编码,空格会被编码成加号(+)。

如果 enc_type 是 PHP_QUERY_RFC3986,将根据 » RFC 3986 编码,空格会被百分号编码(%20)。

写个函数转换下,问题解决了。

function arr2url($arr){
	if(version_compare(PHP_VERSION, '5.4.0', '>=')){
		return http_build_query($arr, null, null, PHP_QUERY_RFC3986);
	}else{
		return str_replace('+', '%20', http_build_query($arr));
	}
}

惠普 M1005 MFP第二张卡纸解决方法

毛病跟这哥们的一样,参考下  http://machbbs.com/jdwx/40258

解决方法有些不同,离合器磁吸用酒精把粘胶清理干净后,我一开始是没有贴替代的上去,就直接装上,发现依然卡纸,然后再拆,贴了一张薄薄的双面胶不撕掉纸,就好了。

我估计可能是如果不贴一层的话磁吸就完全吸住了分不开,有一层隔离吸的力不会那么强。

然后,离合器很难取出来,我暴力一点,把挡板折弯了,完了再折回去没有毛病。

1583003143-IMG_20200301_021310.jpg

1583003132-IMG_20200301_021355.jpg

M1005 的拆机参考 https://wenku.baidu.com/view/42864420240c844768eaeed2.html
千万不要拆全部,只要拆右侧面板和后面板就可以了。