- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 API 网关和 AWS Lamdba 函数作为我公司 API (C# Web API 2.0) 的代理Lambda 函数是用 Python 2.7 编写的,我正在使用 Pyhton 的 urllib2 将 http 请求传递给 API。
我在发送包含希伯来字符的 json 正文时遇到了一个奇怪的问题。Json 在中间被切断。我确保从 Lambda 发送的 Json 是完整的,但在 Lambda 中接收到的 json 正文在途中某处被篡改了。
这是 Lambda 函数:
from __future__ import print_function
import json
import urllib2
import HTMLParser
base = "http://xxxxxx/api"
hparser = HTMLParser.HTMLParser()
def lambda_handler(event, context):
print("Got event\n" + json.dumps(event, indent=2))
# Form URL
url = base + event['queryStringParameters']['rmt']
print('URL = %s' % url)
req = urllib2.Request(url)
if 'body' in event:
if event['body']:
print('BODY = %s' % json.dumps(event['body'], ensure_ascii=False, encoding='utf8') )
req.add_data(json.dumps(event['body'], ensure_ascii=False, encoding='utf8'))
# Copy only some headers
if 'headers' in event:
if event['headers']:
copy_headers = ('Accept', 'Content-Type', 'content-type')
for h in copy_headers:
if h in event['headers']:
print('header added = %s' % event['headers'][h])
req.add_header(h, event['headers'][h])
# Build response
out = {}
headersjsonstr = ('Access-Control-Allow-Origin', '')
response_header = {}
try:
print('Trying here...')
resp = urllib2.urlopen(req)
out['statusCode'] = resp.getcode()
out['body'] = resp.read()
for head in resp.info().headers:
keyval = head.split(':')
if any(keyval[0] in h for h in headersjsonstr):
response_header[keyval[0]] = keyval[1].replace('\r','').replace('\n','').strip()
print('response_header = %s' % response_header )
out['headers'] = response_header
print('status = %s' % out['statusCode'] )
except urllib2.HTTPError as e:
out['statusCode'] = e.getcode()
out['body'] = e.read()
out['headers'] = e.headers
print('status = %s' % out['statusCode'] )
return out
这是Post请求原始主体Json
{"company":"שלום","guests":[{"fullname":"אבי","carno":"67"}],"fromdate":"2018-10-10","todate":"2018-10-10","fromtime":"07:31","totime":"07:31","comments":null,"Employee":{"UserId":"ink1445"}}
这就是我在 API 上得到的:
"{\"company\":\"שלום\",\"guests\":[{\"fullname\":\"אבי\",\"carno\":\"67\"}],\"fromdate\":\"2018-10-10\",\"todate\":\"2018-10-10\",\"fromtime\":\"07:31\",\"totime\":\"07:31\",\"comments\":null,\"Employee\":{\"UserId\":\"ink1
同样,当我只发送英文字母时一切正常。
请帮忙!
谢谢
最佳答案
很可能您的 json 缓冲区太小,导致溢出截断。
大小可能是假设 ASCII 或 utf-8 编码设置的,并且您的 unicode 字符更宽(消耗更多字节)。
根据您使用的 json 包,您可以为 unicode 设置一个选项,或者您可能需要手动调整缓冲区大小。
关于python - Json 正文在 AWS Lambda 函数中使用非英文字符被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52794906/
在 .m 文件中: UIActionSheet *someSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"TI
常用HTML正则表达式 1.只能输入数字和英文的: 复制代码 代码如下: <input onkeyup="value=value.replace(/[/W]/g,'
前言 本文主要介绍使用UITextField限制只可输入中,英文,数字,我们可以使用NSPredicate正则表达式可以过滤,下面看看详细的步骤方法 首先设置UItextField的代理 实现
本文实例讲述了php判断输入是否是纯数字,英文,汉字的方法。分享给大家供大家参考。具体分析如下: 这里利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、
给定一个文本字符串 var string1 = 'IAmNotFoo'; 如何只提取大写字母? 'IANF' 下面是每个链接的一些方法: function isUpperCase1(aCharacte
如何在 PHP tcpdf 中生成连字? 最佳答案 tcpdf 使用 FreeType 来栅格化字体,或者只是将它们嵌入到 PDF 中并在查看器中栅格化。连字实际上是在字体中定义的。如果您使用的是 T
请多多指教!我正在完成“C 语言编程”一书中的练习。 我必须编写一个程序,它接受一个整数,然后提取并用英语显示整数的每一位。 因此,如果我输入 1234,它应该打印回“一二三四”。 由于这个练习接近本
只能输入中文:<input id="input1" type="text" onkeyup="value=value.replace(/[^\
复制代码 代码如下: $str='asb天水市12'; if (preg_match("/^[\x7f-\xff]+$/", $str)){ echo '全部是汉字'; }
我发现这个公式可以将金额转换为单词,但它不能 100% 起作用。每当金额以 20,30, 40 等结尾时,都会出现错误。例如 1020 会出错,但 1019 和 1021 可以正常工作。我试图自己解决
某些 Windows 计算机安装了多种显示语言。 我可以使用以下函数以该语言获取当前用户的 UI 语言: function GetUsersWindowsLanguage: string; var
引言需求:(输入框限制输入多少字符) 1、一个字母、符号、数字相当于一个字符 2、一个汉字相当于两个字符 3、不能输入特殊字符 4、不能输入emoji表情 直接上代码 1、注册通知
我目前正在使用 Emacs + Magit,但我想我的问题比这些软件的具体使用更笼统。我读过 How does one change the language of the command line
有谁知道包含示例英语词典单词脚本的 Web 引用链接,可用于填充 SQL Server 中的词典表? 我可以处理 .txt 或 .csv 文件,或类似的文件。 或者,我正在向我的网络应用程序添加自定义
Oracle(多语言环境)如何判断给定字符串(表列值)的语言(英文,中文...)? 最佳答案 应该可以使用像 Language Dectection for Java 这样的库并将它与您的 PL/SQ
当您现在在 Xcode 5 上本地化一个文件时,您将拥有这个“基本”文件,据我所知,如果用户使用的是另一种未本地化的语言,则会使用该文件。在旧版本的 Xcode 上,您没有。 我希望英语成为默认使用的
我有如下文字: 아니다 bukan 싫다 tidak suka 훌륭하다 bagus 我正在尝试删除英文行(英文字母)并将其附加到上行(韩文字母)的末尾,如下所示: 아니다bukan 싫다tidak
这个问题在这里已经有了答案: Unicode string literals in VBA (3 个回答) How to type Unicode currency character in Visu
我可以知道是否有任何 SQL 脚本可以满足我的以下场景? 如果column1包含中文字符,更新值column2为'Chinese' 如果 column1 包含英文字符,则将值 column2 更新为“
我正在使用一个图像处理 API 来读取图像上的文本,并且从我返回的字符串数据中,我需要提取英语或字典中的单词以及常见的名字和姓氏。换句话说,我在字符串中得到了我需要的文本,但在结果中也得到了一些我需要
我是一名优秀的程序员,十分优秀!