현재 현재 꼬인 서버 코드입니다. URL로 인코딩 된 요청을 가져와 JSON 같은 문자열로 변환 한 다음 반환하는 간단한 실험입니다. 나는 간단한 텍스트를 수신하고 때 글꼴에주의를 지불 한예상치 못한 글꼴로 된 텍스트를 반환하는 뒤틀린 서버
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
import urllib.parse
class FormPage(Resource):
isLeaf = True
def render_GET(self, request):
print(request.uri)
x = (request.uri).decode('ascii')
x = x[1:]
x = todi(x)
return x.encode('ascii')
def todi(st):
if len(st) == 0:
return '{}'
if st[len(st)-1] == '/':
st = st[:-1]
if len(st) == 0:
return '()'
if st[0] == '?':
st = st[1:]
st = urllib.parse.parse_qsl(st)
return str(dict(st))
factory = Site(FormPage())
reactor.listenTCP(80, factory)
reactor.run()
내 브라우저가 표시됩니다. 예를 들어,이 사이트의 경우 : http://icanhazip.com/을 방문하면 글꼴은 consola
글꼴 (MS 메모장의 기본 글꼴)과 비슷합니다. 그러나 내 사이트를 방문하면 브라우저에 Times New Roman
과 같은 글꼴이 표시됩니다.
사이트에서 간단한 문자열을 반환하는 등의 디버깅을 한 적이 있습니다. 그러나 추한 글꼴을 제공하는 데있어 삐뚤어진 부분이 없어 질 수 있습니다.
여기에 example이 있습니다.
또한 Chrome에서 마우스 오른쪽 버튼을 클릭하고 '페이지 소스보기'버튼을 사용한다는 점을 유의하십시오. 저를 믿으십시오, 나의 두보기는 저것에 따르면 단순히 원본이다.
꼬인 서버가 http://icanhazip.com/과 똑같은 IP 주소 문자열을 반환하면 어떻게됩니까? 이것들은 동일하게 렌더링되어야하며 Twisted와 전혀 관련이 없습니다. – mhawke
어떻게 든 그들은 똑같이 보지 않습니다. – Luke
그래서 같은 문자열을 정확히 시도 했습니까? 'render()'함수를 다음과 같이 만드십시오 :'def render_GET (self, request) :'123.123.123.123 '을 반환하십시오 (123.123.123.123을 http://icanhazip.com에 의해 표시된 동일한 IP 주소로 대체하십시오) – mhawke